Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.06 KB | None | 0 0
  1. <?php
  2.  
  3. function np_get_all_catalog_group() {
  4.     global $wpdb;
  5.     $qr = "SELECT id, name FROM catalog_group WHERE deleted_at IS NULL";
  6.     $rs = $wpdb->get_results($qr);
  7.     return $rs;
  8. }
  9.  
  10. function np_get_catalog_of_catalog_group_by_id($catalog_group_id) {
  11.     global $wpdb;
  12.     $qr = "SELECT cata.id, cata.name, cata.description ,cata.icon_path, cata.order, cata.catalog_group_id FROM catalog AS cata
  13.           INNER JOIN catalog_group as cata_gr ON cata.catalog_group_id = cata_gr.id
  14.           WHERE cata_gr.id = %d
  15.           AND cata.deleted_at IS NULL
  16.           AND cata_gr.deleted_at IS NULL
  17.           ORDER BY cata.id";
  18.     $sql = $wpdb->prepare($qr, $catalog_group_id);
  19.     $rs = $wpdb->get_results($sql);
  20.     return $rs;
  21. }
  22.  
  23. function renderCatalogs($is_banner) {
  24.     extract(shortcode_atts(array(
  25.         'is_banner' => 'true'
  26.     ), $is_banner));
  27.     $catalog_groups = np_get_all_catalog_group();
  28.     $rt_html = '<div class="catalog-wrapper ';
  29.     if ($is_banner === 'false') {
  30.         $rt_html .= 'not-banner ';
  31.     }
  32.     $rt_html .= 'clearfix"><div class="catalog-group-inner-wrapper">';
  33.     $count = 0;
  34.     foreach ($catalog_groups as $catalog_group) {
  35.         $count++;
  36.         $rt_html .= '
  37.            <div class="catalog-group-container ';
  38.             if ($count === 2) {
  39.                 $rt_html .= 'renewable';
  40.             }
  41.             $rt_html .= '">
  42.                <div class="catalog-group-main-content">
  43.                        <div class="catalogs-group-item clearfix">
  44.                            <div class="catalog-group-title">
  45.                                <h4><span>'. $catalog_group->name . '</span></h4>
  46.                            </div>
  47.                            <div class="catalog-main-content">';
  48.         $catalogs = np_get_catalog_of_catalog_group_by_id($catalog_group->id);
  49.         $count_item = 0;
  50.         foreach ($catalogs as $catalog) {
  51.             $count_item++;
  52.             $rt_html .= '<a href="#" class="catalog-item-wrapprer ';
  53.             $rt_html .= 'catalog-item-' . $count_item;
  54.             $rt_html .= '">
  55.                                    <div class="catalog-inner">
  56.                                        <div class="catalog-icon">
  57.                                            <img src="'. DOMAIN_ICON_RESOURCE . $catalog->icon_path . '" alt="'.$catalog->name .'">
  58.                                        </div>
  59.                                        <div class="catalog-title">
  60.                                            <p>' . $catalog->name . '</p>
  61.                                        </div>
  62.                                    </div>
  63.                                    <div class="catalog-info">
  64.                                        <p>' . $catalog->description . '</p>
  65.                                    </div>
  66.                                </a>';
  67.         }
  68.         $rt_html .= '</div>
  69.                    </div>
  70.                </div>
  71.            </div>';
  72.     }
  73.  
  74.     $rt_html .= '</div></div>';
  75.     return $rt_html;
  76. }
  77.  
  78. add_shortcode('np_catalog', 'renderCatalogs');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement