上記のリンクされているテーマ市場を詳しく見ると、次の /前のページネーションリンクのURLで明らかなカスタムページネーションシステムを使用していることがわかります。したがって、カスタムポストタイプ(CPT)のクエリで完全に機能する社内ページネーションシステムを構築することができます。
十分に言った、このチュートリアルの目的に取り掛かりましょう。WordPressのカスタム投稿タイプの複雑さを学びましょう。私が個人的に遭遇した多くのハードルに対処したいと思っています。
カスタムポストタイプ定義WordPressは、さまざまな種類のコンテンツを保持および表示できます。このようなコンテンツの単一の項目は、一般に投稿と呼ばれますが、
POST
は特定の投稿タイプでもあります。内部的には、すべての投稿タイプは同じ場所のWP_POSTSデータベーステーブルに保存されますが、post_typeと呼ばれる列で区別されます。
POSTタイプとは、WordPressデータベースの投稿テーブルで維持されているさまざまな構造化されたデータと一緒にグループ化されたものを指します。投稿タイプの例は、ポスト(ブログ投稿のグループ)、ページ(ページのグループ)、添付ファイル(アップロードされたメディアファイルのグループ)、およびネイティブまたはビルドのリビジョン(ポストリビジョンのグループ)です。 WordPressに
投稿タイプの定義で武装して、WordPressに作成および登録されている新しい投稿タイプは、カスタムポストタイプと呼ばれます。WordPressを使用して会社またはビジネスのWebサイトを構築している場合、作成できる投稿タイプの例は、ポートフォリオ、証言、製品です。
カスタムポストタイプの概念を理解したので、次はそれらを作成する方法を学ぶことです。カスタムポストタイプの作成
カスタム投稿タイプを作成するのは非常に簡単です。まず、register_post_type()関数で投稿タイプを登録し、最後に、register_post_type()を関数呼び出しにwrap so soにフックしてください:
register_post_type()を呼び出すとき、2番目の引数がオプションであることに注意する価値があります。つまり、CPTは次のように作成できます。
<span><span>function portfolio_cpt() {</span> </span> <span>$args = array( </span> <span>'label' => 'Portfolio', </span> <span>'public' => true, </span> ); register_post_type( <span>'portfolio', $args ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
この方法でCPTが作成されている場合、管理ダッシュボードメニューには表示されません(直接URLアクセス「http://example.com/wp-admin/edit.php?post_type=でアクセスできますがポートフォリオ「)とそのUIの文言(別の方法ではラベルと呼ばれます)と管理者通知は、組み込みの投稿投稿タイプと同じです。
CPTとそれぞれの関数をカスタマイズするための配列引数のいくつかを見てみましょう。ラベル
defortion_post_type()。
<span><span>function portfolio_cpt() {</span> </span> register_post_type( <span>'portfolio' ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
ラベル
この投稿タイプのラベルの配列。各文字列は、特定の管理ページに表示されるテキストの少しです。公開用のプラグインを作成している場合は、これらの文字列を翻訳可能にしてください。
投稿タイプが何であるかについての短い説明的な要約ですが、これがWordPress Adminで使用されている場所は見つかりませんでした。
ブール値に応じて、特に定義されていない限り、他の引数がどのようなものかを自動的に決定します。一般の議論をより詳細に制御したい場合は、3つの具体的な議論があります。
exclude_from_search:検索結果に投稿が表示されるかどうか
ダウンロードDashiconを使用したいと言って、このラベルを次のようにDashicon値に設定します。
階層
サポート引数を使用すると、新しい投稿の編集または作成時に画面に表示されるメタボックスとフィールドの配列を定義できます。これは、デフォルトでタイトルと編集者になります。
<span><span>function portfolio_cpt() {</span> </span> <span>$args = array( </span> <span>'label' => 'Portfolio', </span> <span>'public' => true, </span> ); register_post_type( <span>'portfolio', $args ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
この引数をfalseに設定すると、デフォルト(タイトルと編集者)の動作が妨げられます。
いくつかの利用可能なオプションがあります:この機能は、開発者にとって特に役立ち、CPT編集画面に表示されるカスタムメタボックスを作成します。
分類
このカスタムPOSTタイプで使用されるカテゴリやPOST_TAGなどの登録された分類法の配列。<span><span>function portfolio_cpt() {</span> </span> <span>$args = array( </span> <span>'label' => 'Portfolio', </span> <span>'public' => true, </span> ); register_post_type( <span>'portfolio', $args ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
この引数をTrueに設定すると、カスタム投稿タイプのアーカイブが有効になります。 たとえば、CPTが本であると言って、http://yoursite.com/booksにアクセスすると、本に属する投稿のリストが表示されます。
書き換え<span><span>function portfolio_cpt() {</span> </span> register_post_type( <span>'portfolio' ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
明確なためにいくつかの例を見てみましょう。
から評価
に変更すると、次の書き換え引数を使用すると、http://の例からURLが変更されます。 .com/review/harry-potter/to http://example.com/assessment/harry-potter/単一の投稿とhttp://example.com/review/ to http://example.com/assessment/ CPTアーカイブ。
WordPress URLを書き直すたびに、設定の[変更の変更]ボタンをクリックしてください>>パーマリンクを作成して、書き換えルールを再現します。
したがって、基本的に、スラッグは新しいURLスラッグを定義しますが、withfrontは、パーマリンク構造がフロントベースで事前に塗装されるかどうかを判断します。まだwith_frontで明確ではありませんか?例を見てみましょう。 下の画像に描かれているように、ブログにURLに追加されたパーマリンク構造があるとします。
with_frontがfalseに設定されている場合、単一の投稿と投稿アーカイブのURLはhttp://example.com/blog/assessment/harry-potter/およびhttp://example.com/blog/assessment/になります。しかし、それがTrueに設定されている場合、単一の投稿と投稿アーカイブのURLはそれぞれhttp://example.com/assessment/harry-potter/およびhttp://example.com/assessment/になります。
後者のブログの省略に気づきましたか?それが違いです。
query_var
trueに設定されている場合、example.com/?book=harry-potterを介して本のカスタム投稿タイプをリクエストすることができます。
trueではなく文字列に設定した場合(たとえば、
出版)、example.com/?publication=harry-potter。 「Query_Var」の警告
明確にさせてください。 CPT Query_Varの値がレビューであり、レビューするキーセットを備えたクエリ文字列が次のフォームのいずれかでWordPressサイトの任意のURLに追加されたとします。
http://example.com/?review=some-random-string
http://example.com/a-post-slug-here/?foo=bar&review=some-random-string
基礎をカバーしたので、WordPressプラグインリポジトリには多くのプラグインがあり、カスタムの投稿タイプの作成が非常に簡単になることを指摘する良い機会です。
例には(ただし、これらに限定されません):が含まれます
PODSフレームワーク
カスタムポストタイプメーカー
カスタム投稿タイプにカスタムフィールドを追加できますか?カスタム投稿タイプに。これは、add_meta_box()関数を使用して実行できます。これにより、新しいメタボックスを投稿編集画面に追加できます。このメタボックスを使用して、カスタム投稿タイプの追加情報を入力および表示できます。テーマに新しいテンプレートファイルを作成して実行します。このファイルは、single- {post-type} .phpという名前で、{post-type}はカスタム投稿タイプの名前です。その後、標準のWordPressループを使用して、カスタム投稿タイプのコンテンツを表示できます。
カスタム投稿タイプに分類法を追加するにはどうすればよいですか? Register_Taxonomy()関数。この関数を使用すると、新しい分類法を作成し、ラベルを指定し、カスタム投稿タイプに関連付けることができます。この分類法を使用して、カスタム投稿タイプのコンテンツを分類してフィルタリングできます。
カスタム投稿タイプの管理インターフェイスをカスタマイズすることは、カスタム投稿タイプを登録するときに「サポート」引数を使用して実行できます。この引数では、タイトル、編集者、サムネイル、カスタムフィールドなど、ポスト編集画面で使用可能な機能を指定できます。
はい、ウェブサイトの検索結果にカスタム投稿タイプを含めることができます。これは、カスタム投稿タイプを登録するときに「exclude_from_search」引数をfalseに設定することで実行できます。プラグインまたはカスタムコードを使用して、Webサイトの検索機能をさらにカスタマイズすることもできます。これは、テーマのfunctions.phpファイルからカスタム投稿タイプを登録します。テーマのコードを変更する前に、Webサイトをバックアップすることを忘れないでください。コードを削除した後、Permalinks設定ページにアクセスして、ルールを書き換える必要があります。以上がWordPressカスタム投稿タイプの決定的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。