wordpressの特定のカスタムフィールドの値を持った特定のカスタム投稿タイプの記事一覧を表示する方法

wordpressで特定のカスタムフィールドの値を持った記事一覧を表示したいときに使える方法です。
カスタム投稿タイプを使っている場合も指定できます。

下記のコードをテンプレートに入力してください。

例)固定ページにカスタム投稿タイプ(ニュース記事、タイプ名「news」)のカスタムフィールド「ニュースの種類」に”幸せ”の値を持ったものを一覧で表示したいとき

<ul class="e_list01">
<?php $c_value = get_post_meta($post->ID, 種類, true); ?> //変数$c_valueに現在のページのカスタムフィールド「種類」の値を入れます。

<?php 
 $args = array(
 'post_type' => array('news'), //一覧表示したいカスタム投稿タイプのスラッグを入れます
 'showposts' => 10,
 'meta_query' => array(
			array(
				'key' => '種類', //変数$c_valueに入れたカスタムフィールドの値と一致するカスタムフィールドを入れます。
				'value' => $c_value ,
				'compare'=>'LIKE'))
 );
 
$my_query = new WP_Query($args);
if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); //一致するカスタム投稿がある場合にループ開始。下記のリストが表示されます。
?>
 
<li><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
 
<?php endwhile; endif; wp_reset_postdata(); ?>
</ul>

【wordpress】所属しているターム名を表示する方法

表示されている記事の所属しているターム名(カテゴリー名)を表示させる方法。

・所属しているターム名(カテゴリー名)をひとつ表示

<?php $terms = get_the_terms($post->ID, 'taxonomy名'); foreach($terms as $term){ $term_name = $term->name; echo $term_name; break; }; ?>

・所属しているターム名(カテゴリー名)一覧を表示(リンク有り)

<?php echo get_the_term_list( $post->ID, 'taxonomy名', '<div>', '区切り部分のhtml', '</div>'); ?>

・所属しているターム名(カテゴリー名)一覧を表示(リンクなし)

<?php $terms = get_the_terms($post->ID, 'taxonomy名'); $t_slug=''; foreach($terms as $term){ $term_name = $term->name; $t_slug = $t_slug.$term_name.'区切り部分のhtml'; }; $t_slug = substr($t_slug, 0, -1); echo $t_slug; ?>

【wordpress】get_postで特定の投稿タイプのタクソノミーのタームに属する記事の一覧表示と、カスタムフィールド表示の方法

wordpressでカスタム投稿タイプを使い、複数のタクソノミーやタームに分けているこきに特定のタームに属する記事の一覧表示がしたい場合。
またその一覧表示で、特定のカスタムフィールドの値を表示したい場合にテンプレートに記載するphpのメモ

<?php $tax_posts = get_posts('post_type=投稿タイプのスラッグ&taxonomy=タクソノミーのスラッグ&term=タームのスラッグ&posts_per_page=表示する数'); if($tax_posts): ?>
 <ul>
  <?php foreach($tax_posts as $tax_post): ?>
  <li><a href="<?php echo get_permalink($tax_post->ID); ?>"><?php echo esc_html($tax_post->post_title); ?></a><br />
      <?php echo $tax_post->{'カスタムフィールド名'}; ?>
  </li>
  <?php endforeach; ?>
 </ul>
<?php endif; ?>

アイキャッチ画像は

<?php echo get_the_post_thumbnail( $tax_post->ID, 'thumbnail' ); ?>

thumbnailの部分を下記に変更すると

the_post_thumbnail( ‘thumbnail’ ); // サムネイル (デフォルト 150px x 150px :最大値)
the_post_thumbnail( ‘medium’ ); // 中サイズ (デフォルト 300px x 300px :最大値)
the_post_thumbnail( ‘large’ ); // 大サイズ (デフォルト 640px x 640px :最大値)
the_post_thumbnail( ‘full’ ); // フルサイズ (アップロードした画像の元サイズ)

the_post_thumbnail( array( 100, 100 ) ); // 他のサイズ(トリミング)

いろいろと変更できます。

wordpressでget_the_dateなどの日時表示を2回以上繰り返して使う方法

wordpressの投稿日付を表示するためのテンプレートタグ「get_the_date」記事一覧表示などの繰り返しの中で使うことが多いタグですが、同じget_the_dateは一度しか使えません。

ですがhtml5になりtimeタグのdatetime属性と日付表示両方で使用する場面が増えました。

例えばforeachなどの繰り返しの中で

<time datetime="<?php echo get_the_date('Y-m-d'); ?>" class="date"><?php echo get_the_date('Y年m月d日'); ?></time>

と記載したい場合がありますが、上記の方法だと2回目が表示されません。
そこでget_the_dateを2回以上繰り返して使う方法をメモします。
“wordpressでget_the_dateなどの日時表示を2回以上繰り返して使う方法” の続きを読む

カスタムフィールドの数字にカンマを入れて表示する方法

wordpressでjigoshopプラグインで通販サイトを作成していてカスタムフィールドに入っている料金を出力する際に自動的に数字にカンマをつけて表示する方法のメモ。
“カスタムフィールドの数字にカンマを入れて表示する方法” の続きを読む

次の記事・前の記事のリンクを同一カテゴリ内のみの記事にする方法【wordpress】

wordpressで次の記事、前の記事のリンク先を同一カテゴリのみの記事にする方法
特にwordpressでサイトを制作してるときにサイト内ブログと更新情報とかを分けたい場合に使うと思います。

<?php previous_post_link('« %link', '%title', TRUE, ''); ?>
<?php next_post_link('%link »', '%title', TRUE, ''); ?>

特定のアーカイブの場合のみ表示を変更【wordpress】

wordpressで特定のアーカイブページの場合のみ並び順を変更したり表示を変更する方法。

wordpressで特定のアーカイブページの場合のみ並び順を変更

「カテゴリー名」の場合のみ昇順

<?php
if( is_category( 'カテゴリー名' ) ) {
query_posts( $query_string . "&order=ASC" );
}
?>

wordpressで特定のアーカイブページの場合のみ表示を変更

カテゴリーID4のアーカイブページが表示されている場合のみ表示

<?php if ( is_category('4') ): ?>
表示する内容
<?php endif; ?>

特定のカテゴリーの場合のみ表示【wordpress】

wordpressで特定のカテゴリーの時のみ表示させるテンプレートタグ。

カテゴリーIDを指定

<?php if(in_category('5')): //カテゴリーIDが5の時のみ ?>
カテゴリーIDが5の時のみ表示
<?php endif; ?>

これをテンプレートに書き込んで特定のカテゴリーの場合にサイドバーの変更やヘッダー変更などをしてデザインを完全に変更することも可能です。

wordpressで任意の大きさにトリミングしたサムネイルを表示するテンプレートタグ

wordpressで任意の大きさにトリミングしたサムネイルを表示するテンプレートタグ

	<?php while (have_posts()) : the_post(); ?>
/*サムネイルがある場合*/
		<?php if (has_post_thumbnail()):?>
		<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_post_thumbnail(array(120,120)); ?><br /><span class="yarpp-thumbnail-title"><?php the_title(); ?></span></a></li>
		<?php endif; ?>
/*サムネイルがない場合場合*/
		<?php if (!has_post_thumbnail()):?>
		<li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><img src="代替画像指定" width="120" height="120" alt="<?php the_title(); ?>" /><br /><span class="yarpp-thumbnail-title"><?php the_title(); ?></span></a></li>
		<?php endif; ?>
	<?php endwhile; ?>

wordpressカスタムフィールド、値がある場合のみ表示、値がない場合は違うものを表示する方法

wordpressのカスタムフィールドに値がある場合のみ表示、値がない場合は違うものを表示する方法メモ
“wordpressカスタムフィールド、値がある場合のみ表示、値がない場合は違うものを表示する方法” の続きを読む