我想知道在wordpress中应用此短代码的页面或帖子ID。
我已经在wordpress页面中使用了此短代码“ [qsm quiz = 6]”,现在我想在使用该短代码的另一页中显示页面ID。
示例:我在2-3页中使用了简码,并且我希望这些页面ID在使用所有简码的单个页面中。
答案 0 :(得分:1)
要获取当前页面的页面/帖子ID,可以在简码函数内使用get_the_ID()
。无论您在哪里应用该短代码,这都将为您提供帖子/页面的ID。
如果要使用该特定的短代码列出所有帖子/页面,则可以使用以下功能。
function having_shortcode($str){
$query = new WP_Query( "s='$str'" );
$arr = array();
if ($query->have_posts()){
while ( $query->have_posts() ) { $query->the_post();
$arr[] = get_the_ID().' '.get_the_title();
}
}
return $arr;
}
只需将简码名称传递给函数,它将为您提供使用简码的帖子/页面ID的数组。
在您的情况下,尝试执行此操作,您将获得所有ID
print_r(having_shortcode("[qsm quiz=6]"));
答案 1 :(得分:0)
我尝试了很多,但最后我找到了这个最佳答案。
使用此代码
global $wp, $wpdb;
$page_id = $wpdb->get_var('SELECT ID FROM '.$wpdb->prefix.'posts WHERE post_content LIKE "%[qsm quiz=6]%"');
echo $page_id;