Widget only in first post

时间:2014-01-26 作者:Pieter Goosen

我想在第一篇文章的内容中加入一个小部件区域。但我的问题是,我不知道如何只获取函数中的第一篇帖子。以下是我的功能:

    function pietergoosen_insert_content_filter( $content ) {
    ob_start();
    $sidebar = dynamic_sidebar(\'sidebar-19\');
    $new_content = ob_get_clean();
    if ( ! is_admin() ) {
        return pietergoosen_insert_content( $new_content, 2, $content );
    }
    return $content;
}
如果我更换

if ( ! is_admin() ) {
使用

if ( ! is_admin() || is_paged() || $wp_query->current_post > 0 ) {
它在所有其他帖子中显示小部件,而不是在第一篇帖子中。对此的条件标记有何建议

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

假设您试图只向循环中的第一篇文章添加内容,那么静态变量应该可以做到这一点:

function pietergoosen_insert_content_filter( $content ) {
    static $first;
    $first = (!isset($first)) ? true : false;
    if (true == $first) {
      ob_start();
      $sidebar = dynamic_sidebar(\'sidebar-19\');
      $new_content = ob_get_clean();
      if ( ! is_admin() ) {
          return pietergoosen_insert_content( $new_content, 2, $content );
      }
    }
    return $content;
}
add_filter(\'the_content\',\'pietergoosen_insert_content_filter\');

结束

相关推荐

Individual Widgets per Page

在我的Wordpress网站(仅限于页面,无帖子)中,我需要在侧边栏中放置一些静态blob。我们可以将这些“blob”称为小部件。至少他们会有一个固定的html内容,如“摘要1”、“摘要2”、“免责声明”、“foo策略”。。。我需要的是,在每一页上都有不同的安排。因此,这不仅仅是“单一”对“归档”,而是真正的“产品页面A”对“产品页面B”对“关于我们”对“服务条款”。。。我在考虑自定义元框,以便在单个编辑器页面上打开和关闭它们wp-admin/post.php?post=196&action=ed