Navigation

関連記事

トップページ

カスタム投稿タイプを導入する際のTIPS


TAKAHIRO YAMADA
@rural_web
カスタム投稿タイプを導入する際のTIPS

WordPressにカスタム投稿やカスタムフィールド、カスタムタクソノミーを導入する際に検索したあれこれ。

function.phpで追加

プラグインを利用せず、カスタム投稿・カスタムタクソノミーをそれぞれfunction.phpを用いて追加する方法。

function.php

//カスタム投稿タイプを追加
function create_post_type() {
	$【カスタム投稿用のスラッグ名】_supports = [
		'title',
		'editor',
		'thumbnail',
		'revisions'
	];

	register_post_type( '【カスタム投稿用のスラッグ名】',
	array(
		'label' => '【カスタム投稿のタイトル(ブログとか)】',
		'public' => true,
		'has_archive' => true,
		'menu_position' => 5,
		'supports' => $【カスタム投稿用のスラッグ名】_supports
		)
	);
}

add_action( 'init', 'create_post_type' );

//カスタムタクソノミー追加(カスタム投稿用のカテゴリが利用できるように)

function add_custom_taxonomy_【カスタム投稿用のスラッグ名】() {
    register_taxonomy(
        '【カスタム投稿用のスラッグ名】-cat',
        '【カスタム投稿用のスラッグ名】',
        array(
            'hierarchical' => true,
            'update_count_callback' => '_update_post_term_count',
            'label' => '【カスタム投稿用カテゴリ名(カテゴリとか)】',
            'public' => true,
            'show_ui' => true,
        )
    );
}
add_action( 'init', 'add_custom_taxonomy_【カスタム投稿用のスラッグ名】', 0 );

上記ソースの【~】を適宜好きな名前に変更して利用。
※スラッグ名は基本的に半角英数で。

カスタム投稿タイプを作成後、実際に記事を投稿→公開しても「404エラー」などで表示エラーがでる場合あり。その際は、管理画面【設定→パーマリンク設定】から何も変更をせず【保存】し直すと直るかも。パーマリンク設定が、デフォルトじゃない時に発生するようだ。

カスタム投稿タイプ名の取得方法

カスタム投稿タイプを作成した際に記入した「カスタム投稿タイプ名」を取得・表示させる方法。

<?php echo esc_html(get_post_type_object(get_post_type())->label); ?>

これですんなり表示された。

カスタム投稿タイプの条件タグ

is_singular('【条件にしたいカスタム投稿タイプスラッグ名】')
カスタム投稿タイプでは、通常のis_single('スラッグ名')では効かない。

カスタム投稿タイプからカスタムフィールドを含めた条件抽出

<?php $args = array(
	'post_type' => 'sample', //カスタム投稿名
	'posts_per_page' => 3, //表示数
	'meta_key' => 'human', //特定のカスタムフィールドを条件に入れる場合
	'meta_value' => 'man'); //上のmeta_keyに対する答え(例:humanにmanをチェック入れているものを抽出)
 ?>
<?php query_posts( $args ); ?>
<?php if ( have_posts() ) :while ( have_posts() ) : the_post(); ?>
ここに表示させたい内容
<?php endwhile;else: ?>
表示するものがない場合の内容
<?php endif; ?>
<?php wp_reset_query(); ?>

これで簡単にひょっこりさん。

コメントを表示 (0)

Comments

CAPTCHA


関連記事

WordPress

WordPressでAMP化するときに困ったこと

カスタムフィールドの値が表示されない 下記プラグインにてデフォルト出力されるものは$content(本文)に含まれているもの。 カスタムフィールドで取得表示させていた箇所が表示されてない現象に遭遇。 […]

by TAKAHIRO YAMADA
WordPress

カスタムフィールドの値が小数点だったときのソート方法

検索結果ページで、カスタムフィールドの値が「0.5」「10.5」のような小数点の値でソートしたかったのに、なんだかうまく動かなかったのでその備忘録。 状況 下記のように、プルダウン選択で並び替え(ソー […]

by TAKAHIRO YAMADA