从POST到侧边栏获得价值

时间:2013-10-22 作者:KarSho

我在我的post,

<div class="my_calss" id="my_id">
    my content
</div>
在这里,my_id 每个帖子都不一样。

我需要显示my_id 在侧栏中转换为php代码。也就是说,

<?php echo do_shortcode(\'[wp_value id=1]\'); ?>
需要分配上述id。

我通过PHP 在里面stackoverflow. 这不仅仅是面向WordPress的,这就是为什么我也在那里问它。

我的问题解释得好吗?如果没有,请让我知道我还可以补充什么?

2 个回复
SO网友:s_ha_dum

你没有很好地解释你的问题,所以我猜了很多,但我认为你想要这样的东西:

function post_ids_wpse() {
  global $wp_query;
  $ids = wp_list_pluck($wp_query->posts,\'ID\');
  $scs = \'\';
  foreach ($ids as $id) {
    $scs .= "[wp_value id=\'{$id}\']";
  }
  echo do_shortcode($scs);
}
这是非常粗糙的。例如,在尝试使用之前,您应该检查各种值是否正常。

其思想是从页面中获取主查询对象,并从ID它包含。

SO网友:Chip Bennett

如果$post 对象在您给定的上下文中可用(例如,可能是单个post显示),您只需将其全球化,然后获取ID:

global $post;
$id = $post->ID;

echo do_shortcode( \'[wp_value id=\' . $id . \']\' );
否则,您需要将ID放入循环内部的变量中:

if ( have_posts() ) : while ( have_posts() ) : the_post();
    // We\'re in the loop;
    // Store the post ID
    $id = get_the_ID();

    // Other Loop markup goes here, as normal
endwhile; endif;

// Elsewhere in the template:
echo do_shortcode( \'[wp_value id=\' . $id . \']\' );

结束

相关推荐

提前注册Taxonomy,以便可以在unctions.php和admin-ajax.php中使用它

这是对this post, 概述在函数中无法使用get\\u terms函数的原因。php(实际上是通过ajax/admin\\u ajax.php调用)。我可以在任何帖子、任何页面上获取术语(自定义税),除了在我的ajax函数中。在转储get\\u terms的值时,我收到了可怕的“分类法不存在”错误。问题是,在调用函数查找术语后,分类法被注册。问题是,如何尽早注册税务以便使用此功能?注册自定义帖子类型和分类的代码是函数中的第一个。php(通过外部php提供,以保持functions.php干净)/**