订阅多个类别的页面

时间:2013-03-19 作者:jam

我正在创建一个网站,在那里我需要“订阅”特定类别的客户端页面。

例如:

例如。com/client/johnson co/show all post in the categories“GST”、“Estate”和“Tax General”。

例如。com/client/smith co/显示“商品及服务税”、“保险”和“个人”类别的所有帖子。

如果有更好的方法,我根本不喜欢使用页面:)但是我确实需要使用WordPress admin编辑“订阅”的类别;没有硬编码到主题中。

我研究并试验了以下方法,但都没有成功:

赋予类别多个父类别(currently not possible in WP) - 这将允许我使用query\\u posts()并包括cat=x,为类别gst指定johnson co和smith co的母公司(as per the codex) - 这是可行的,但它是硬编码的,不允许有人在管理中订阅类别页面使用自定义帖子类型(使用CCTM插件设置)so/client/johnson co/has checkbox meta fields of GST、Estate、Insurance、Personal等。这是最接近的,但我无法获得选中内容与显示工作的类别之间的链接,感觉有点像一个丑陋的黑客非常感谢您的任何想法!

1 个回复
SO网友:Milo

为自定义帖子类型启用类别分类法,或为默认页面帖子类型启用类别分类法:

function wpa_cats_for_pages(){
    register_taxonomy_for_object_type( \'category\', \'page\' );
}
add_action( \'init\', \'wpa_cats_for_pages\' );
然后在页面模板中,获取分配给客户端页面的类别ID,并创建一个新查询,该查询传递这些ID:

// get IDs of categories assigned to this client page
$categories = wp_get_object_terms( $post->ID, \'category\', array( \'fields\' => \'ids\' ) );

// query for posts with categories that match those assigned to this page
$args = array(
    \'posts_per_page\' => -1, // get all matching posts
    \'category__in\' => $categories
);

$client_posts = new WP_Query( $args );

// output post data
while( $client_posts->have_posts() ):
    $client_posts->the_post();
    the_title();
endwhile;

// reset the global $post object so template tags for this page work as expected
wp_reset_postdata();
然后,对于每个客户端页面,您只需选择要在该页面上显示的帖子类别,就像为帖子分配类别一样。

结束

相关推荐

必需:找不到wp_link_ages。请参阅:WP_LINK_PAGES by Theme Checker

我已经通过WordPress主题检查器运行了我的主题,看看它是否可以提交给WordPress。组织。我遇到了以下错误:必需:找不到wp\\u link\\u页面。请参阅:wp\\U link\\u页面但事实并非如此。我正在使用自定义函数wp_my_own_link_pages() 它是wp_link_pages(). 它为主题生成具有兼容HTML结构的分页。我错过了一些必要的东西吗?我怎样才能做到这一点?