PHP: ішкі беттерді тізімдеу үшін қысқа код құру үшін WordPress API қолданыңыз

WordPress PHP

Дәл қазір біз кәсіпорын клиенті үшін өте күрделі іске асырумен айналысамыз. Сайт WordPress-те салынуда, бірақ бірнеше қоңырау мен ысқырық бар. Көбінесе, мен осы типтегі жұмысты орындайтын кезде, мен басқа сайттарда репурпозация үшін арнайы кодты сақтағанды ​​ұнатамын. Бұл жағдайда мен оны осындай пайдалы функция деп ойладым, оны әлеммен бөліскім келді. Біз қолданамыз Fusion Page Builder көмегімен Avada WordPress тақырыбы ата-ана тақырыбы ретінде және біздің балалар тақырыбында арнайы кодты орналастыру.

WordPress-те API-де wp_list_pages және get_pages сияқты ішкі беттерді тізімдеу үшін бірнеше функциялар бар. Мәселе мынада, егер сіз динамикалық түрде тізбекті көптеген мәліметтермен құрамын деп үміттенсеңіз, олар жеткілікті ақпаратты қайтармайды.

Бұл клиент үшін олар жұмыс сипаттамаларын орналастырғысы келді және бос жұмыс орындарының тізімі олардың жарияланған күніне қарай автоматты түрде азаятын тәртіпте пайда болады. Олар парақтың үзіндісін де көрсеткілері келді.

Сонымен, біріншіден, біз парақтың шаблонына үзінді қолдауын қосуымыз керек болды. Functions.php-де олардың тақырыбына біз мынаны қостық:

add_post_type_support ('бет', 'үзінді');

Содан кейін біз ішкі беттер тізімін, оларға сілтемелерді және олар үшін үзінді жасайтын таңдамалы қысқа кодты тіркеуіміз керек еді. Мұны жасаңыз, біз WordPress циклі. Functions.php-де біз мынаны қостық:

// Тізім функциясындағы ішкі беттер тізімі dknm_list_child_pages ($ atts, $ content = «») {global $ post; $ atts = shortcode_atts (массив ('ifempty' => 'Жазба жоқ', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'бет', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'published_date', 'order' => 'DESC' ,); $ parent = жаңа WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ content. ' '; while ($ parent-> have_posts ()): $ parent-> the_post (); $ string. = ' '.get_the_title ().' '; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' '; ақырғы; } басқа {$ string = ' '. $ atts [' ifempty '].' '; } wp_reset_postdata (); return $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Енді сілтеме мен үзінді арқылы баланың парақтарын көрсету үшін бүкіл кодты бүкіл сайтта қолдануға болады. Қолдану:

[list_subpages aclass = «button» ifempty = «Кешіріңіз, бізде қазір ешқандай жұмыс ашулары жоқ.»] Жұмыс тізімі [/ тізім_жазбалары]

Нәтижесінде жарияланған, бос жұмыс орындарының тізімі, олардың мансаптық парағындағы балалар парақтары бар.

Егер жұмыс орындары болмаса (балалар парақтары болмаса), онда:

Кешіріңіз, бізде қазір ешқандай жұмыс орны жоқ.

Егер жарияланған жұмыс орындары болса (балалар беттері):

Жұмыс тізімі:

Сен не ойлайсың?

Бұл сайт спамның төмендеуі үшін Akismet пайдаланады. Деректеріңіздің қалай өңделетінін біліңіз.