我正在使用带有自定义模板的Visual Composer(Post Grid)元素。
我想通过短代码输出帖子ID,所以我创建了一个简单的短代码:
function myshortcode_title( ){
return get_the_ID();
}
add_shortcode( 'page_title', 'myshortcode_title' );
但它似乎没有检索帖子ID。我通过文本块将它添加到网格中。
短代码适用于任何其他页面,但不适用于VC帖子网格内部。
我如何才能访问帖子网格中的帖子ID?
提前致谢!这是元素的截图。
答案 0 :(得分:0)
我现在来晚了,但是我遇到了同样的问题,这个答案可以帮助其他人。 您需要在函数中使用全局$ post。
用法示例:
function my_function_shortcode()
{
global $post; // important !
$args = array(
'post_type' => 'event',
'post_status' => 'publish',
);
$event_query = new WP_Query($args);
if ($event_query->have_posts()) : while ($event_query->have_posts()) : $event_query->the_post();
$event_location = get_post_meta($post->ID, 'event_location', true);
endwhile;
endif;
wp_reset_query();
}
add_shortcode('my_function_output', 'my_function_shortcode');