通过短代码访问帖子数据(Visual Composer post grid)

时间:2017-07-19 13:41:50

标签: php wordpress post visual-composer

我正在使用带有自定义模板的Visual Composer(Post Grid)元素。

我想通过短代码输出帖子ID,所以我创建了一个简单的短代码:

   function myshortcode_title( ){
   return get_the_ID();
   }
   add_shortcode( 'page_title', 'myshortcode_title' );

但它似乎没有检索帖子ID。我通过文本块将它添加到网格中。

短代码适用于任何其他页面,但不适用于VC帖子网格内部。

我如何才能访问帖子网格中的帖子ID?

提前致谢!这是元素的截图。

Here is a screenshot of the element

1 个答案:

答案 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');