Вміст Маркетинг

PHP: Використовуйте API WordPress для створення короткого коду для переліку підсторінок

Зараз ми працюємо над досить складною реалізацією для корпоративного клієнта. Сайт створено на WordPress, але має масу наворотів. Часто, коли я виконую такий тип роботи, я люблю зберігати спеціальний код для подальшого використання на інших сайтах. У цьому випадку я вважав, що це така корисна функція, я хотів поділитися нею зі світом. Ми використовуємо Тема Avada WordPress із Fusion Page Builder як батьківської теми та розгортання досить великої кількості спеціального коду в нашій дочірній темі.

У API WordPress уже є кілька функцій, які можна використовувати для перерахування підсторінок, наприклад wp_list_pages і get_pages. Проблема полягає в тому, що вони не повертають достатньо інформації, якщо ви сподіваєтеся динамічно створити список із купою інформації.

Для цього клієнта вони хотіли опублікувати опис вакансій і автоматично створити список вакансій у порядку спадання за датою публікації. Вони також хотіли показати уривок сторінки.

Отже, спочатку нам потрібно було додати підтримку витягів до шаблону сторінки. У functions.php для їхньої теми ми додали:

add_post_type_support( 'сторінка', 'уривок');

Потім нам потрібно було зареєструвати спеціальний шорткод, який генерував би список підсторінок, посилань на них і витяг для них. Зробіть це, ми повинні використовувати Цикл WordPress. У functions.php ми додали:

// Список підсторінок у функції List dknm_list_child_pages( $atts, $content = "" ) { global $post; $atts = shortcode_atts( array( 'ifempty' => 'Немає записів', 'aclass' => '' ), $atts, 'list_subpages' ); $args = array( 'post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $post->ID, 'orderby' => 'publish_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(); } $рядок .= ' '; endwhile; } else { $string = ' '.$atts['ifempty'].' '; } wp_reset_postdata(); повернути $рядок; } add_shortcode('list_subpages', 'dknm_list_child_pages');

Тепер шорткод можна застосувати на всьому сайті, щоб показувати дочірні сторінки з посиланням і уривком. Використання:

[list_subpages aclass="button" ifempty="На жаль, зараз у нас немає вакансій."] Список вакансій [/list_subpages]

Результатом є гарний, чистий невпорядкований список опублікованих вакансій, які є дочірніми сторінками під сторінкою кар’єри.

Якщо не було опубліковано вакансій (немає дочірніх сторінок), буде опубліковано:

На жаль, наразі у нас немає вакансій.

Якщо були опубліковані вакансії (дочірні сторінки), буде опубліковано:

Список вакансій:

Douglas Karr

Douglas Karr є CMO компанії OpenINSIGHTS і засновник Martech Zone. Дуглас допоміг десяткам успішних стартапів MarTech, допоміг у належній перевірці понад 5 мільярдів доларів у придбання та інвестиції Martech, і продовжує допомагати компаніям у впровадженні та автоматизації їхніх продажів і маркетингових стратегій. Дуглас — міжнародно визнаний експерт і спікер з цифрової трансформації та MarTech. Дуглас також є опублікованим автором посібника для чайників і книги про лідерство в бізнесі.

Статті по темі

Догори кнопки
близько

Виявлено блокування реклами

Martech Zone може надати вам цей вміст безкоштовно, оскільки ми монетизуємо наш сайт за рахунок доходів від реклами, партнерських посилань і спонсорства. Ми будемо вдячні, якщо ви видалите блокувальник реклами під час перегляду нашого сайту.