我正在为我的帖子创建一个短代码,我可以输入一个$ atts,这将是我的自定义帖子类型中的帖子的一个slug,我可以使用该slug来获取该帖子的ID以便我可以拉在短代码中的元数据中。
add_shortcode('stats', 'stats');
function stats($atts) {
array(
'hero' =>'',
);
$HeroSlug = $atts['hero'];
$HeroPostID = I need this to grab the post ID based off the the $atts 'hero' which is the post's slug
$output = echo get_post_meta($HeroPostID 'hero-sub-name', true);
return $output;
}
所以在短信中我会输入[stats hero =“illidan”] illidan是那个自定义帖子类型帖子的slug,我想要抓住ID,我只是不知道怎么比拿那个slug和获取该帖子的ID,以便我可以在$ HeroPostID变量中使用。
答案 0 :(得分:0)
你试过get_the_ID()
吗?
这将给出显示短代码的当前帖子ID
答案 1 :(得分:0)
add_shortcode(' stats',' stats_func'); function stats_func($ atts){
extract( shortcode_atts( array(
'hero' => ''
), $atts ) );
if(strlen($hero) < 1){ return; }
$the_slug = $hero;
$args=array(
'name' => $the_slug,
'post_type' => 'post',
'post_status' => 'publish',
'numberposts' => 1
);
$my_posts = get_posts($args);
if( $my_posts ) {
$HeroPostID = $my_posts[0]->ID;
}
}
//编辑我将如何做到这一点。