2016-08-31 8 views
0

私が構築しているWPサイト用のページ/スラッグ構造を最適に作成する方法に関するいくつかのセージのアドバイスを探しています。これは、創造的な仕事を紹介するポートフォリオサイトです。私は現在、ポートフォリオ/作業項目や関連クライアントなどのカスタムポストタイプをいくつか作成し、Advanced Custom Fields Pluginを使用してこれらのアイテム間の関係を作成しました。これらはすべて素晴らしいです。私が苦労しているのは、最高のURL構造を作成する方法です。ページ/スラッグアーキテクチャのアドバイス

私は以下のページが既に作成され、うまく機能しています:

/仕事/ - /関係なく、クライアント /クライアントのすべての作業を示しインデックスページ - すべてのクライアントのリスト

私が必要

/clients/client/- このページには、特定のクライアントに関連するすべての作業が表示されます。ここで私は苦労しています。正しいページスラッグを設定するためにページテンプレートシステムを使用する方法を理解する助けが必要です。 WP問合せの一部としてページ・スラッグを使用できますか?カスタム投稿タイプに基づいて簡単にクエリを実行できますか?これを行うためにページテンプレートファイルの名前を何にしますか?

誰でも提供できるアドバイスや例があれば、是非ご活用ください。ありがとうございました。

答えて

1

WordPressは、ページや投稿を処理して、作成してレンダリングする簡単なメカニズムを提供します。私たちが必要とするすばらしいデザインや仕事をするために挑戦しなければならないのは私たちです。次のページ・スラッグ・アーキテクチャーのトピックに移り、詳しく説明します。

まず、次のことを見てみましょう。カスタム投稿タイプ

のためのページテンプレートを作成する

例:あなたはニュースと呼ばれるポストタイプを作成している場合 WordPressのシステムは、以下の構造を探します。

  1. シングル{ポスト型}の.php
  2. archive-カスタム投稿する場合

    の.php

シングル{post_type} .phpの{ポスト型} wordpressはsingle-news.phpを検索して、投稿のシングルまたはパーマリンクを表示します。

archive- {post_type}

.PHPカスタムポストタイプは 'ニュース' だった、および/またはquery_varは= "ニュース" 場合は、WordPressは表示するアーカイブ-news.phpを探します投稿のアーカイブ

これらのファイルがテーマのディレクトリにない場合、WordPressはそれぞれarchive.phpとsingle.phpを探します。これらのファイルが存在しない場合は、デフォルトでindex.phpになります。

テンプレートファイルは次のようになります。上記のコードからそこで

<?php 
$args = array('post_type' => 'news', 'posts_per_page' => 10,'post_status'=>'publish','orderby'=>'ID','order'=>'DESC'); 
$the_query = new WP_Query($args); 
?> 
<?php if ($the_query->have_posts()) : ?> 
<?php while ($the_query->have_posts()) : $the_query->the_post(); ?> 
<h2><?php the_title(); ?></h2> 
<div class="entry-content"> 
<?php the_content(); ?> 
</div> 
<?php wp_reset_postdata(); ?> 
<?php else: ?> 
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p> 
<?php endif; ?> 

あなたがカウントは無限にする必要がある場合、あなたがpost_per_page=-1post_per_page=10を変更する必要があり10

のカウントにNews categoryから最新の投稿にを表示することができます。

私が説明しようとしているこの参照とアドバイスは、あなたにとって役に立ちます。それでも私の解説に問題がある場合は、私の答えにコメントしてください。私はあなたを助けるためにそこにいます。

0

高度なカスタムリレーションシップのプラグインを使用しているため、私の質問を解決するためにこの正確なルートには行きませんでした。私の解決策はこれと幾分似ています:https://www.advancedcustomfields.com/resources/querying-relationship-fields/ - しかしあなたの応答は非常に有用であり、私は正しい道を進んでくれました、ありがとう!