我正在一个运行域主题映射器的网站上工作(http://codecanyon.net/item/domain-and-theme-mapper) WooCommerce将展示两个具有两个不同子主题的网站。。。与产品详细信息共享数据库。客户希望在两个网站上都显示一些产品/帖子,而有些只在其中一个网站上显示。
我们已将此代码添加到函数中。php在每个主题中显示基于所选主题的产品:
add_action( \'pre_get_posts\', \'custom_pre_get_posts_query\' );
function custom_pre_get_posts_query( $q ) {
if ( ! $q->is_main_query() ) return;
if ( ! $q->is_post_type_archive() ) return;
if ( ! is_admin() && is_shop() ) {
$q->set( \'tax_query\', array(array(
\'taxonomy\' => \'site\',
\'field\' => \'slug\',
\'terms\' => array( \'site1\' ),/*or site2*/
\'operator\' => \'IN\'
)));
}
remove_action( \'pre_get_posts\', \'custom_pre_get_posts_query\' );
}
这对于WooCommerce商店页面非常有用,但不会影响其他查询。当选择了适当的子主题时,有没有一种方法可以将其推广到WordPress的所有查询(帖子、产品、页面)?
我想我可以以某种方式修改WordPress主查询,但我对如何处理这些查询不太熟悉。修复必须在子主题内才能工作。。。但是,如果自定义分类法不实用,可以通过检查域来完成。
提前感谢您的任何想法!