我想知道在wordpress中应用此短代码的页面或帖子ID。
我已经在wordpress页面中使用了这个快捷代码"qsm quiz=6“,现在我想在使用这个快捷代码的另一个页面中显示页面ID。
例子:我使用了2-3页的短码,我希望这些页面的is在一个单一的页面上使用这所有的短码。
发布于 2019-03-31 10:08:24
要获取当前页面的页面/帖子id,可以在shortcode函数中使用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数组。
在您的情况下,尝试这样做,您将获得所有In
print_r(having_shortcode("[qsm quiz=6]"));
发布于 2019-04-01 04:24:03
我尝试了很多,但最后我找到了这个最好的答案。
使用了以下代码
global $wp, $wpdb;
$page_id = $wpdb->get_var('SELECT ID FROM '.$wpdb->prefix.'posts WHERE post_content LIKE "%[qsm quiz=6]%"');
echo $page_id;
https://stackoverflow.com/questions/55435207
复制相似问题