web関連

【wordpress】現在アクセスしているページのカスタム投稿名・スラッグを出力する方法

【wordpress】現在アクセスしているページのカスタム投稿名・スラッグを出力する方法

カスタム投稿名・スラッグを取得してシャレオツな見出しを作ろうとしたときの備忘録

カスタム投稿名とカスタム投稿スラッグ取得

<?php 
//↓カスタム投稿名を出力
echo esc_html(get_post_type_object(get_post_type())->label);
//↓カスタム投稿のスラッグ出力
echo esc_html(get_post_type_object(get_post_type())->name);
?>

投稿のオブジェクトを取得できるらしい
「投稿」と「固定ページ」は以下のように出力される

echo esc_html(get_post_type_object(get_post_type())->label);
//投稿:投稿
//固定ページ:固定ページ

echo esc_html(get_post_type_object(get_post_type())->name);
//投稿:post
//固定ページ:page

基本的に変わることない情報だから
投稿タイプのラベルを条件分岐なんかで使ってる

<?php 
$page_title = esc_html(get_post_type_object(get_post_type())->label)
if($page_title === '投稿'){
//「投稿」記事の時の記述
}elseif ($page_title === 'カスタム投稿名') {
//「カスタム投稿」記事の時の記述
}else{
//その他の時の記述
}
?>
カスタム投稿作るときの情報を取得できんの知らんかったからメモ

おまけ:取得したスラッグを大文字にする方法

カスタム投稿ページの大見出しに取得したスラッグを大文字で使いたかった時の備忘録
文字列を大文字にする「strtoupper()」使った

<?php 
$page_slug = esc_html(get_post_type_object(get_post_type())->name);
echo strtoupper($page_slug);
//出力例:「POST(投稿)」「PAGE(固定ページ)」
?>

デザインでカスタム投稿のスラッグを大文字で配置してその下にルビみたいな感覚で日本語を配置するページタイトルのデザインだったんだけどページごとに動的にできないかどうか調べた時の備忘録
「投稿」と「固定ページ」は条件分岐させて書いたけどカスタム投稿は動的に生成できた

Leave a Comment

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。