WordPressのいろいろ。使っていてつまづいたところ、工夫したところなどを覚書にしてみました。

  1. PHP
  2. 12 view

カスタム投稿もトップの最新記事に含める

カスタム投稿。なんだかいつもこれに悩まされているような気がしています。
今回は、カスタム投稿もトップの最新記事に含め、なおかつカテゴリのようにラベルを表示させるという方法です。
まずはこの表示にするために—
1
function.phpに記述。カスタム投稿名は「kamome」と「tabi」で作りました。

function custom_post_add_top( $query ) {
 if ( is_admin() || ! $query->is_main_query() )
 return;
 
if ( $query->is_home() ) {
 $query->set( 'post_type', array( 'post', 'tabi', 'kamome' ) );
 return;
 }
}
add_action( 'pre_get_posts', 'custom_post_add_top' );

2
そうすると、一応一覧に出てきましたが、カテゴリ名に当たる投稿名が出てきません。ここでもまたカスタム投稿を記述するように書き加えないといけないんです・・・。
オリジナルの記述。ここでは通常投稿のカテゴリしか指定していません。
トップの一覧なので、index.phpに記述。

<?php if ($options['show_category']) : ?><li class="post_category"><?php the_category(', '); ?></li><?php endif; ?>

ここで条件分岐。カスタム投稿のラベル名がkamomeとtabiで出てきたら、表示しなさいよ、出てこなければ通常のカテゴリ表記をしなさいよ、と命令します。

<?php if( 'kamome' == get_post_type() || 'tabi' == get_post_type() ): ?>
<a href="./<?php echo esc_html(get_post_type_object(get_post_type())->name); ?>"><?php echo esc_html(get_post_type_object(get_post_type())->label ); ?></a>
<?php else: ?>
<a href="./<?php echo $category->slug;?>"><?php echo $category->cat_name;?></a>
<?php endif; ?>
<?php if ($options['show_category']) : ?><li class="post_category"><?php the_category(', '); ?></li><?php endif; ?>

3
こんなんなりましたけど~~~。
隙間が空いてしまったので、のちのち改善策を考えていきます。

参考にした記事:カスタム投稿タイプの作成からトップページへの表示までの流れ

  • コメント: 0

PHPの最近記事

  1. PHPを更新したら不具合が出た…原因はプラグイン

  2. カスタム投稿もトップの最新記事に含める

  3. タグの表示がおかしい

  4. WordPress4.2についてきた絵文字機能

  5. WPのURLを変えたらログインできなくなった場合の対処法

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


PAGE TOP