[WordPress] カスタム投稿のidとスラッグ、タイトルを一覧表示させたい
CSVインポートで既存記事をまとめて更新したいときなど、カスタム投稿のidやスラッグなどの情報を一覧表示させたい場合があります。
専用のプラグインもありますが、頻繁に行う作業ではない場合、わざわざプラグインをインストールするのではなく、簡易的なショートコードで代用する方法があります。
functions.php
function sc_post_data($atts) {
$atts = shortcode_atts(array(
'type' => 'post'
), $atts);
$html = '';
$args = array(
'post_type' => $atts['type'],
'posts_per_page' => -1
);
$the_query = new WP_Query($args);
if($the_query->have_posts()) {
$html .= '<table>';
$html .= '<tr>';
$html .= '<th>id</th>';
$html .= '<th>slug</th>';
$html .= '<th>title</th>';
$html .= '</tr>';
while($the_query->have_posts()) {
$the_query->the_post();
global $post;
$html .= '<tr>';
$html .= '<td>'. get_the_ID() .'</td>';
$html .= '<td>'. $post->post_name .'</td>';
$html .= '<td>'. get_the_title() .'</td>';
$html .= '</tr>';
}
$html .= '</table>';
}
wp_reset_postdata();
ob_start();
echo $html;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
add_shortcode('post_data', 'sc_post_data');
ショートコード
[post_data type="product"]
実装したコードは、上記のショートコードで呼び出すことができます。
引数の「type」は表示したいカスタム投稿のスラッグを指定してください。
ご質問など受け付けています
記事の中でわかりにくかったところ、もっと知りたかったこと、間違っていることなど、何でもお気軽にご連絡ください。
ご連絡は下記フォームを利用いただくか、ツイッターアカウント@flat8migi宛てでもOKです。