PHP
WordPress
Function

WordPress wpタグをさらに関数設定して自分好みに出力する

More than 1 year has passed since last update.

wpタグをさらに関数設定して自分好みに出力する設定をfunctions.phpに記述していきます。


現在のページが持っているタームリストの情報(タームID,ターム名前,タームスラッグ)を取得する


functions.php

/*

* 機 能:現在のページが持っているターム情報(タームID,ターム名前,タームスラッグ)を取得する
* 使用できるテンプレート:single.php
* @param:int($id)
* @param:string($tax)
*/

function getCurrentCategorys($id,$tax){
$categorys = get_the_terms($id, $tax);
foreach($categorys as $i => $category) {
yield [
'term_id' => $category->term_id,
'name' => $category->name,
'slug' => $category->slug,
'totalCount' => $i +1,
];
}
}


出力方法


shingle.php

$itr = getCurrentCategorys($post ->ID,'タクソノミー名');

foreach($itr as $index => $category) {
echo $category['term_id'];
echo $category['name'];
echo $category['slug'];
echo '合計数:'.$category['totalCount'];
}
;


現在のページが持っているタームリストを表示(echo)する


functions.php

/*

* 機 能:現在のページが持っているターム情報を全て表示(echo)する
* 使用できるテンプレート:single.php,front-page.php
* @param:int($id)
* @param:string($tax)
*/

function echoCurrentNewsTerms($id,$tax){
// タームの情報を取得する
$tarms = get_the_terms($id, $tax);
$termsNum = count($tarms);
//var_dump($tarms);
//var_dump($tarms[0]);
for($i=0;$i<$termsNum;$i++){
echo '<a href="/news/cat/'.$tarms[$i] -> slug.'/">'.$tarms[$i] -> name.'</a>';
}
}


出力方法


shingle.php

<?php echoCurrentNewsTerms($post ->ID,'タクソノミー名');?>