2017-05-31 72 views
0

我觉得我在这里错过了一些东西。所以我使用视觉作曲家石工网格来显示帖子。我试图创建一个短代码,用于显示日期时间戳的Visual Composer网格构建器,但即使在循环中使用短代码,我也无法获取帖子ID或诸如short_code中的the_title或the_date之类的内容。我甚至可以使用其中的其他简码来拉入标题和其他元信息,并显示帖子的具体信息。在循环中使用shortcode获取帖子ID

这是我尝试......它输出什么都没有,至少没有错误,但没有结果......

function lmi_features_time_ago_shortcode($atts, $post) { 

    global $post; 

    $output = ''; 

    $timestamp = get_the_date('Y-m-d g:i:s', $post->id); 
    // $timestamp = time_elapsed_string($timestamp); 

    $output .= $timestamp; 

    return $output; 

} 
add_shortcode('social_feed_ago', 'lmi_features_time_ago_shortcode'); 
+0

你传递$ atts和$ post作为shortcode参数吗? –

+0

对不起,我不是最好的PHP。我想我把它们放在函数名称的括号中。我有$ atts注释掉,并删除他们的这篇文章,因为我没有真正使用它们。我取消了评论,没有任何改变。 –

+0

通过将它们放在函数的括号中,您正在定义该函数,并且创建了一个签名,并在调用时创建了所需的参数。 –

回答

0

做一个的var_dump($ POST),并检查它实际上是post对象。如果循环设置为仅返回id,那么$ post变量将是ID本身。

+0

我做了一个var dump和一个print_r,并且没有任何东西,并尝试使用$ post而不是$ post-> id并没有任何工作。尽管短代码正在循环中使用,但它只是没有获取发布信息。 –

相关问题