繁体   English   中英

Wordpress中的类别排除

[英]Category exclusion in Wordpress

我正在这个Wordpress网站-http: //adsclip.com/

我已经使用此代码(以最简单的形式)构建了国家/地区选择器

<select name="countries" id="countries" style="width:180px;" onchange="return change_action(this.value);">
<option value='us' id="us">United States</option>
<option value='gb' id="gb">United Kingdom</option>
</select>

整个Wordpress中的帖子都按国家分类,我的目的是在选择特定国家时排除整个网站中的类别。

如果可能的话,我只想将它们排除在首页之外。

是否有插件或一些代码可以帮助我实现这一目标?

您可以通过在pre_get_postsparse_query操作中将所选国家的pre_get_posts作为查询参数传递来全局排除/包括类别。

pre_get_posts示例:

add_action( 'pre_get_posts', 'filter_query_by_country' );

function filter_query_by_country( $query ) {

    // ... get the wanted country's slug here someway ...

    $query -> set( 'country', $slug );
}

在上面的钩子函数中, 'country'是分类名称,而$slug是国家术语的子类别。 它将查询变量设置为仅搜索标记有特定country集的内容(类似于普通的category_name查询变量)。 您可以使用$query -> is_main_queryis_category()和类似的条件$query -> is_main_query来定位各种查询。

如果选择某个国家/地区后,如果您有JavaScript解决方案可在每个页面上实现查询变量,则此示例应适用。 Google for query_vars过滤器和add_rewrite_endpoint核心功能,以学习如何在WordPress中实现自定义的GET参数。

另外,您可以将所选国家/地区保存到会话变量中,以保留为用户保存的选择(我想您是在这里创建语言切换器吗?)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM