仅显示循环中的某些标记

时间:2015-12-15 作者:Joe Bobby

What I\'m trying to do is alter the loop across my site so it will check the site URL so it will know which tag to display.

例如,如果我给一些帖子贴上标签“golfclubs”,我希望它能像这样工作:

if ($_SERVER[\'HTTP_HOST\']=="www.golfclubreviewdomain.com"){
        // code here to display only the "golfclubs" tagged posts
}
如果上面的代码不符合我的要求,我只想检查当前域是否正确http://www.golfclubreviewdomain.com, 如果是,则显示标记有“高尔夫俱乐部”的帖子。我希望此更改适用于所有主题,因此,如果可能的话,我希望在最高级别进行更改,以便影响主页、类别等。是否有一个我可以使用的核心文件在升级wordpress时永远不会更新?

我的最后一个问题是,要显示超过1种类型的标记帖子,我要做什么更改?也许是“高尔夫俱乐部”和“将军”之类的?

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

创建必用插件<docroot>/wp-content/mu-plugins/selective-posts.phpselective-posts.php 筛选特定帖子。

function golfclubs_tag( $query ) {
    if ( $_SERVER[\'HTTP_HOST\'] === \'www.golfclubreviewdomain.com\' ) {
        $query->set( \'tag\', \'golfclubs\' );
    }
}
add_action( \'pre_get_posts\', \'golfclubs_tag\' );
通过这种方式,它将过滤整个站点中特定域的所有查询,并过滤带有特定标签的帖子。

如果要在查询中添加另一个标记,可以按如下方式编辑上述代码:

    function golfclubs_tag( $query ) {
        if ( $_SERVER[\'HTTP_HOST\'] === \'www.golfclubreviewdomain.com\' ) {
            $query->set( \'tag\', \'golfclubs,general\' );
        }
    }
    add_action( \'pre_get_posts\', \'golfclubs_tag\' );

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请