使用CATEGORY和WP_QUERY将内容从主域获取到子域

时间:2014-10-31 作者:user2882154

我有一个主网站与2个子域名。

www.example。com公司

www.space。实例com公司

www.products。实例com公司

我想在我的主网站上发布文章,使用类别对其进行排序。

例如,使用“空间”类别的文章和使用“产品”类别的文章。

使用wp查询和自定义帖子类型,我想在我的共享空间中显示。实例com页面上的文章来自“space”类别,以及我的产品。实例com“产品”类别的文章。

我知道在一个没有子域的简单网站上使用wp querie with categorie是可行的:

$query = new WP_Query( \'category_name=space\' ); 

$query = new WP_Query( \'category_name=products\' );
但是有没有办法用子域来实现呢?

我在网上找不到任何解决办法。

有人能帮我吗?

非常感谢

2 个回复
SO网友:BA_Webimax

您可以做的是设置pre_get_posts() 过滤子域的主题函数。php文件将帖子限制为所需类别。。。

function my_subdomain_category( $query ) 
{
    if ( $query->is_main_query() ) 
    {
        $query->set( \'cat\', \'123\' ); // use the categoryID for space or products
    }
}
add_action( \'pre_get_posts\', \'my_subdomain_category\' );

SO网友:user2882154

谢谢@BA\\u Webimax

我在我的子域页面中使用此查询从我的主域页面获取数据,从而找到了解决方案。主域博客ID为(1)。例如,子域是2和3。

<?php switch_to_blog(1); ?>
<?php restore_current_blog(); ?>
如下所示,在子域的页面上显示我的域ID 1中类别为“products”的帖子的所有标题:

<?php

switch_to_blog(1); //define the domain containing the posts
$args = array(\'category_name\' => \'products\' , \'orderby\' => \'title\', \'order\' => \'ASC\' );

$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); ?>

<?php the_title(); ?>

<?php endforeach;
restore_current_blog(); //switch back to the actual domain
wp_reset_postdata();?>
希望这会有帮助!在处理子域时非常有用。它还可以从自定义字段和高级自定义字段中获取数据。。。

最好的

结束

相关推荐

Get a list of categories ids

我正在使用基于自定义帖子类型的过滤器制作一个公文包。该过滤器必须只显示公文包中显示的帖子的类别,因为用户可以在短代码中通过id指定它们-[公文包id=“1,2,3”],而我无法获得该类别id的列表。下面是一个简单的例子,说明我正在尝试做什么:来自快捷码的自定义帖子ID列表:$ids 相同ID的数组:$id_array = explode(\',\', $ids) 必须返回类别ID列表的感兴趣的变量:$cat_ids = ??? 接下来,我们只获取具有所需id的类别:$ca