随時更新

テンプレートタグなど

パス

//★ホームURL
home_url()
<a href="<?php echo esc_url( home_url( '/' ) ); ?>/news/">

//★テンプレートディレクトリパス 画像パスに使用
get_template_directory_uri()
<img src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/xxx" alt="">

<img src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/common/logo.svg" alt="<?php bloginfo( 'name' ); ?>">

//★投稿のパーマリンクを表示
the_permalink()
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

//★投稿のパーマリンクを取得
esc_url( get_permalink() ) 
<?php the_permalink( $popular_post->id ); ?>

タイトル

//★投稿タイトルを表示
the_title()
<?php the_title(); ?>
<?php the_title( '<h1 class="page-header__title">', '</h1>' ); ?>

//★ループ外でページタイトルを出力に投稿タイトルを表示
single_post_title()
<?php single_post_title(); ?> 

//★投稿タイトルを取得
get_the_title()

//★属性用投稿タイトルを表示
the_title_attribute()

ページ情報

//★ページ情報を取得
get_post();

//★親ページの情報を取得
$posts_data = get_post();
$posts_parent_data = get_post($posts_data->post_parent);

スラッグ

//★現在のページスラッグを取得
$current_slug = $post->post_name;
または $current_slug = get_post_field( 'post_name' ); でもOK ※こっちのがいいかも

カテゴリー&タグ&カスタムタクソノミー

//★投稿に属するカテゴリーを全部取得
<?php the_category( ', ' ); ?>
//または
$categories = get_the_category();
if ( $categories ) {
	echo '<p class="post-header__cat">';
	foreach ( $categories as $c ) {
		echo '<a href="' . esc_url( get_category_link( $c->term_id ) ) . '">';
		echo esc_html( $c->cat_name ) . ' ';
		echo '</a>';
	}
	echo '</p>';
}

//★投稿に属するカテゴリーを1つ取得
$category = get_the_category();
$category = $category[0];
esc_url( get_category_link( $category->term_id ) )

<?php
    $category = get_the_category();
    $category = $category[0];
?>
<a href="<?php echo esc_url( get_category_link( $category->term_id ) ); ?>"><?php echo esc_html( $category->cat_name ); ?></a>

//★特定の親カテゴリーの子一覧
$news_id        = get_category_by_slug( 'news' )->term_id; //スラッグからID取得
$news_categories = get_categories(
	array(
		'parent'     => $news_id,
		'hide_empty' => false,
	)
);
if ( $news_categories ) {
	echo '<ul>';
	foreach ( $news_categories as $category ) {
		echo '<li>';
		echo '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '">';
		echo esc_html( $category->name );
		echo '</a></li>';
	}

	echo '</ul>';
}

//★投稿が属する子カテゴリーのみ表示(親は表示したくない)
$categories = get_the_category();
foreach ( $categories as $category ) {
	if ( $category->parent ) {
		echo esc_html($category->cat_name);
	}
}

//★スラッグから名前を取得
$category = get_term_by( 'slug', wp_unslash( スラッグ ), 'category' )->name;
$_tag = get_term_by( 'slug', wp_unslash( スラッグ ), 'post_tag' )->name;
//使用時はカテゴリーが存在するか判定すること(下の★スラッグからIDを取得参照)

//★スラッグからIDを取得
$catid = get_term_by( 'slug', 'topics', 'category' )->term_taxonomy_id;
//使用時はカテゴリーが存在するか判定すること
$catid = get_term_by( 'slug', 'topics', 'category' ) !== false ? get_term_by( 'slug', 'news', 'category' )->term_taxonomy_id : '';

//★投稿に属するタグ一覧
<?php the_tags( '<ul class="xxx" aria-label="タグ"><li>', '<li></li>', '</ul>' ); ?>
//または
<?php
$tags = get_the_tags();
if ( ! empty( $tags ) ) :
	?>
<div class="post-tags">
	<?php foreach ( $tags as $t ) : ?>
		<a href="<?php echo esc_url( get_tag_link( $t->term_id ) ); ?>"><?php echo esc_html( $t->name ); ?></a>
	<?php endforeach; ?>
</div>
<?php endif; ?>

画像

//★アイキャッチを表示
the_post_thumbnail( 'thumbnail' );

the_post_thumbnail( 'thumbnail' ); //デフォルト150x150
the_post_thumbnail( 'medium' ); //デフォルト300x300
the_post_thumbnail( 'medium_large' ); //デフォルト768x(高さは制限なし)
the_post_thumbnail( 'large' ); //デフォルト1024x1024
the_post_thumbnail( 'full' );
the_post_thumbnail( array( 100, 100 ) );  //サイズ指定 幅 高さ

<?php if ( has_post_thumbnail() ) : ?>
	<?php the_post_thumbnail( 'thumbnail' ); ?>
<?php else : ?>
	<img src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/common/no-img.png" alt="">
<?php endif; ?>

//★アイキャッチのsrcを取得
$img_id = get_post_thumbnail_id();
$img    = wp_get_attachment_image_src( $img_id, 'medium_large' );

投稿日時

//★投稿日時を表示
the_time( 'Y-m-d' )
<time datetime="<?php the_time( 'Y-m-d' ); ?>"><?php the_time( 'Y.m.d' ); ?></time>

コンテンツ&抜粋

//★抜粋を表示
the_excerpt()
if (has_excerpt()) {
the_excerpt();
}

//★投稿の本文を出力
the_content()

ユーザー情報

//★投稿者ID
get_the_author_meta( 'ID' ); 

//★投稿者ニックネーム
get_the_author_meta( 'user_nicename' ); //投稿者ニックネーム

//★プロフィール情報
$description = get_the_author_meta( 'user_description' ); //プロフィール情報

//★投稿者の投稿一覧へのリンク
$author_link = get_author_posts_url( $author_id );
echo wp_kses_post( wpautop( $description ) ); //wpautop で改行を反映

//★プロフィール画像をカスタムフィールド(ACF)で設定して表示する方法
$author_id   = get_the_author_meta( 'ID' );
$img         = get_field( 'profile_img', 'user_' . $author_id );
$imgsrc      = wp_get_attachment_image_src( $img, 'thumbnail' );
<?php if ( $imgsrc ) : ?>
	<figure>
	<img src="<?php echo esc_url( $imgsrc[0] ); ?>" width="<?php echo esc_attr( $imgsrc[1] ); ?>" height="<?php echo esc_attr( $imgsrc[2] ); ?>" alt="<?php echo esc_attr( $author ); ?>のプロフィール画像">
	</figure>
<?php endif; ?>

その他

//★テンプレートパーツをテンプレートへ読み込む
get_template_part( 'template-parts/breadcrumbs' )

検索

パラメータ―

//URLカテゴリー&タグ 絞り込み
?category_name=slug&tag=slug

<a href="<?php echo esc_url( home_url( '/' ) ); ?>?category_name=news&tag=media">関連する投稿</a>

テンプレートでURLパラメータ―を取得

isset( $_GET['post_type'] ) {

}

条件分岐タグ

投稿

カスタム投稿タイプ & タクソノミー

is_home()

is_category()

is_singular( 'post' )
is_post_type_archive( '投稿タイプ名' )

is_tax( 'タクソノミー名' )

is_singular( '投稿タイプ名' )

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です