コンテンツマーケティング

PHP:WordPress APIを使用して、サブページを一覧表示するショートコードを作成します

現在、エンタープライズクライアント向けの非常に複雑な実装に取り​​組んでいます。 このサイトはWordPressで構築されていますが、たくさんのベルとホイッスルがあります。 多くの場合、この種の作業を行うときは、後で他のサイトで転用するためにカスタムコードを保存するのが好きです。 今回はとても便利な機能だと思い、世界と共有したいと思いました。 私たちは使用しています Fusion PageBuilderを使用したAvadaWordPressテーマ 親テーマとして、子テーマにかなりのカスタムコードをデプロイします。

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(array( 'ifempty' => 'No Records'、 'aclass' => '')、$ atts、 'list_subpages'); $ args = array( 'post_type' => 'page'、 'posts_per_page' => -1、 'post_parent' => $ post-> ID、 'orderby' => 'publish_date'、 'order' => 'DESC' 、); $ parent = new 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。= ' '; 終わり; } else {$ string = ' '。$ atts [' ifempty ']。' '; } wp_reset_postdata(); $ stringを返します。 } add_shortcode( 'list_subpages'、 'dknm_list_child_pages');

これで、ショートコードをサイト全体に実装して、リンクと抜粋を含む子ページを表示できるようになりました。 使用法:

[list_subpages aclass = "button" ifempty = "申し訳ありませんが、現在、求人はありません。"] 仕事のリスト[/ list_subpages]

その結果、公開された求人のすてきでクリーンな順序なしリストが作成されます。これは、キャリアページの下の子ページです。

公開された求人がない(子ページがない)場合は、次の情報が公開されます。

申し訳ありませんが、現在、求人はありません。

公開された求人(子ページ)があった場合は、以下を公開します。

仕事のリスト:

Douglas Karr

Douglas Karr のCMOです オープンインサイト の創設者であり、 Martech Zone。 ダグラスは、マーテックのスタートアップ企業数十社の成功を支援し、マーテックの買収と投資における 5 億ドルを超えるデューデリジェンスを支援し、企業の販売戦略とマーケティング戦略の実装と自動化を支援し続けています。 ダグラスは、国際的に認められたデジタル変革と MarTech の専門家兼講演者です。 ダグラスは、ダミーズ ガイドやビジネス リーダーシップに関する書籍の著者でもあります。

関連記事

先頭へ戻るボタンに
閉じる

Adblockが検出されました

Martech Zone は、広告収入、アフィリエイト リンク、スポンサーシップを通じてサイトを収益化しているため、このコンテンツを無料で提供できます。 当サイトをご覧になる際は、広告ブロッカーを削除していただければ幸いです。