EDIT:WebサイトのLINKSページに、カスタム投稿タイプLINKのすべてのカテゴリ名がリストに表示されます。訪問者がカテゴリ名をクリックすると、アルファベット順にそのカテゴリ内のすべての投稿を一覧表示するためにワードプレスが必要です。私はそれを動かしています、(テンプレートファイルを使用して:taxonomy-link-category.phpを使用して)以下のコードで、投稿は時系列的に表示され、それらのうちの10のみ(Wordpressのデフォルト).
私はこのようなことを試してみました: アルファベット順にカスタム投稿タイプを表示します しかしもちろん表示されます...EDIT:の投稿だけでなくすべてのLINK投稿選択されたLINKカテゴリ.
これはtaxonomy-link-category.phpにある私の現在のコードですが、どこかに/ 'orderby' => 'title', 'order' => 'ASC'
を追加するだけではいけませんか。
<?php get_header(); ?>
<div id="content">
<h1>Links</h1>
<h2><?php echo get_queried_object()->name; ?></h2>
<?php if (have_posts()) : // start the loop ?>
<?php while (have_posts()) : the_post(); // loop the posts ?>
<h3><?php the_title(); ?></h3>
<?php the_content(); ?>
<?php endwhile; // stop looping the posts ?>
<?php else : // what to do if there are no posts to show ?>
<h3>No posts</h3>
<?php endif; // end the loop ?>
</div><!-- #content -->
<?php get_footer(); ?>
実行前に pre_get_posts
アクションを使用してクエリを変更します。これをあなたのテーマのfunctions.php
に入れてください。
function wpd_tax_alpha( $query ) {
if ( $query->is_tax('link-category') && $query->is_main_query() ) {
$query->set( 'orderby', 'title' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'wpd_tax_alpha' );
はい。しかし、私はあなたの意図を誤解しているようです。
やってみました:
$args = array(
'post_type' => 'link',
'tax_query' => array(
array(
'taxonomy' => 'link-category',
'field' => 'slug',
'terms' => array( 'Birds', 'Cats', 'Dogs' )
)
),
'orderby' => 'title',
'order' => 'ASC'
);
$query = new WP_Query($args);
これはアルファベット順にソートされたリストを作成し、そこに用語の並びがリンクカテゴリ分類法に含まれているはずです。
** EDITの元のコードで、terms配列の後にカンマがありませんでした。