2011-06-09 67 views
2

所以我的WordPress CMS已经很长的路要走(和我学到了不少关于WordPress的。我已经创建了一个自定义后类型,称为Products这是在这里:过滤器,并通过他们的自定义分类查询我的产品(自定义后型)

add_action('init', 'create_product_post_type'); 

function create_product_post_type() 
{ 
    $labels = array(
     'name' => _x('Products', 'post type general name'), 
     'singular_name' => _x('Product', 'post type singular name'), 
     'add_new' => _x('Add New', 'product'), 
     'add_new_item' => __('Add New Product'), 
     'edit_item' => __('Edit Product'), 
     'new_item' => __('New Product'), 
     'view_item' => __('View Product'), 
     'search_item' => __('Search Products'), 
     'not_found' => __('No products found'), 
     'not_found_in_trash' => __('No products found in Trash'), 
     'parent_item_colon' => '', 
     'menu_name' => 'Products'   
     ); 

    $args = array(
     'label' => __('Products'), 
     'labels' => $labels, 
     'public' => true, 
     'can_export' => true, 
     'show_ui' => true, 
     '_builtin' => false, 
     'capability_type' => 'post', 
     'menu_icon' => get_bloginfo('template_url').'/functions/images/product.png', 
     'hierarchical' => false, 
     'rewrite' => array("slug" => "product"), 
     'supports' => array('title'), //MAYBE add thumbnail later! 
     'show_in_nav_menus' => true 

     ); 

     register_post_type('product', $args); 
} 

然后叫Category一个自定义分类这是在这里:。

function create_productcategory_taxonomy() { 
    $labels = array(
     'name' => _x('Categories', 'taxonomy general name'), 
     'singular_name' =>_x('Category', 'taxonomy singular name'), 
     'search_items' => __('Search Categories'), 
     'popular_items' => __('Popular Categories'), 
     'all_items' => __('All Categories'), 
     'parent_item' => null, 
     'parent_item_colon' => null, 
     'edit_item' => __('Edit Product Category'), 
     'update_item' => __('Update Product Category'), 
     'add_new_item' => __('Add New Product Category'), 
     'new_item_name' => __('New Product Category'), 
     'separate_items_with_commas' => __('Separate categories with commas'), 
     'add_or_remove_items' => __('Add or remove product categories'), 
     'choose_from_most_used' => __('Choose from the most used categories') 
     ); 

    register_taxonomy('productcategory', 'product', array (
     'label' => __('Product Category'), 
     'labels' => $labels, 
     'hierarchical' => true, 
     'show_ui' => true, 
     'query_var' => true, 
     'rewrite' => array('slug' => 'product-category'), 
     )); 
} 

我在可湿性粉剂管理员菜单中调用的产品,有我做了一个自定义模板创建一个单页去http://localhost/project/products带来它和它sts所有产品帖子类型。我还为single-products.php制作了一个页面,该页面显示单个产品帖子类型的详细信息。

我不知道如何做的是创造一种由自定义分类Category,上面是过滤我的产品。假设我有一个产品是一个Widget。这个小工具有'弹簧加载'Category。如果我想查看单个小部件,我可以链接到http://localhost/project/products/widget,它会调出single-product.php页面,并在我为此页面设置格式时显示小部件。但我想链接到“弹簧加载”类别,并将所有产品列在该自定义类别中。我相信每个类别都有它自己的弹子(例如弹簧加载)。如果我去http://localhost/project/product-category/spring-loaded它会弹出一个页面,但我不知道它正在加载哪个文件,其他方面我可以修改输出。现在它将每个产品加载为普通帖子(包含日期,评论等)。

所以我的问题是如何过滤这些类别?或者我修改哪个文件以更改从http://localhost/project/product-category/spring-loaded链接的页面的输出?

我希望这是有道理的。谢谢!

UPDATE: AHHHH。现在是有道理的。我改变了这一点:

register_taxonomy('productcategory', 'product', array (
     'hierarchical' => true, 
     'rewrite' => array('slug' => 'product-category'), 
     )); 

这样:

register_taxonomy('productcategory', 'product', array (
     'hierarchical' => true, 
     'rewrite' => array('hierarchical' => true), 
     )); 

虽然我不知道它正是这么做。

我还创建了一个分类,productcategory.php并做了一些快速格式化和测试,但它确实工作。我可以去http://localhost/project/productcategory/,它会列出该类别的所有产品。

现在我需要改变我重写规则是你一个人?我真的不明白htaccess是如何工作的,所以我不知道我是否需要改变它。谢谢!

+0

,如果它工作,那么你不必改变你的重写。 – ariefbayu 2011-06-09 23:24:19

回答

2

这几乎是我几周前的问题。 它已经回答了Wordpress.SE:https://wordpress.stackexchange.com/questions/14451/taxonomy-terms-and-template-files

+0

当他们说让模板页面'taxonomy-type.php'确实是从字面上'taxonomy-type.php'吗?还是我用我的分类学slug(产品类别)替换分类?另外我目前的定制分类标准slug rewrite看起来像这样:''rewrite'=> array('slug'=>'product-category')''。我是否也需要将它改为''rewrite'=> array('hierarchical'=> true)'?我不确定那是干什么的。 – drpcken 2011-06-09 20:00:09

+0

请参阅我上面的修改。谢谢! – drpcken 2011-06-09 20:52:19