WordPressテーマ用のカスタム投稿タイプと、カスタム投稿タイプが表示されるページを作成しました。しかし、カスタム投稿タイプの投稿を表示するショートコードの作り方を知っている人はいますか?
基本的にあなたの質問は、カスタム投稿タイプの投稿をショートコードで問い合わせる方法です。あなたはWordPressのWP_Queryセクションを調べてみるべきです: https://codex.wordpress.org/Class_Reference/WP_Query
私のサンプルコードでは、 'my-custom-post-type'タイプの最新の公開された投稿のタイトルを示すショートコードを作成します。
<?php
add_shortcode( 'shortcodename', 'display_custom_post_type' );
function display_custom_post_type(){
$args = array(
'post_type' => 'my-custom-post-type',
'post_status' => 'publish'
);
$string = '';
$query = new WP_Query( $args );
if( $query->have_posts() ){
$string .= '<ul>';
while( $query->have_posts() ){
$query->the_post();
$string .= '<li>' . get_the_title() . '</li>';
}
$string .= '</ul>';
}
wp_reset_postdata();
return $string;
}
?>
ショートコードはループ内で実行されるので、クエリを終了した後はwp_reset_postdata()
を使用してください。そうすればメインループは期待通りに動作します。この機能の詳細については、こちらをご覧ください。 https://codex.wordpress.org/Function_Reference/wp_reset_postdata
私は願っています、これはあなたに逆襲を与えます。