需要有关自定义帖子类型和分类的帮助

时间:2011-10-17 作者:Evie Milo

我正试图了解CPT和分类法。我在我的WP网站上创建了一个名为Work的部分,所以我在我的功能中有了这个部分。php文件:

add_action(\'init\', \'work_register\');

function work_register() {

$labels = array(
    \'name\' => _x(\'Work\', \'post type general name\'),
    \'singular_name\' => _x(\'Work Item\', \'post type singular name\'),
    \'add_new\' => _x(\'Add New Work Item\', \'portfolio item\'),
    \'add_new_item\' => __(\'Add New Work Item\'),
    \'edit_item\' => __(\'Edit Work Item\'),
    \'new_item\' => __(\'New Work Item\'),
    \'view_item\' => __(\'View Work Item\'),
    \'search_items\' => __(\'Search Work\'),
    \'not_found\' =>  __(\'Nothing found\'),
    \'not_found_in_trash\' => __(\'Nothing found in Trash\'),
    \'parent_item_colon\' => \'\'
);

$args = array(
    \'labels\' => $labels,
    \'public\' => true,
    \'publicly_queryable\' => true,
    \'show_ui\' => true,
    \'query_var\' => true,
    \'rewrite\' => true,
    \'capability_type\' => \'post\',
    \'hierarchical\' => false,
    \'menu_position\' => null,
    \'supports\' => array(\'title\',\'editor\',\'thumbnail\'),
    \'taxonomies\' => array(\'category\', \'post_tag\') // this is IMPORTANT
  ); 

register_post_type(\'work\' , $args );
}

register_taxonomy("work-categories", array("work"), array("hierarchical" => true, "label" => "Work Categories", "singular_label" => "Work Category", "rewrite" => true));
我想我已经把所有这些都做好了,因为我在我的管理中有一个可以添加工作项的部分。我不确定是否包括这一行:

\'taxonomies\' => array(\'category\', \'post_tag\') // this is IMPORTANT
因为我想创建一个名为“工作类别”的新分类法,因此在代码末尾使用

register_taxonomy("work-categories", array("work"), array("hierarchical" => true, "label" => "Work Categories", "singular_label" => "Work Category", "rewrite" => true));
“管理”屏幕显示类别和标记的列,但不显示工作类别的列-如何删除类别和标记的列并添加工作类别的列???我还需要向我的函数中添加什么。php文件来执行此操作??

此外,我想知道如何在索引工作的侧边栏中列出我的工作类别。php和单个工作。php页面。

-----编辑-----

我在索引工作中添加了以下代码。php和单个工作。调用侧栏之前的php页面:

<h1>Categories</h1>
<?php
$taxonomy = \'work-categories\';
$queried_term = get_query_var($taxonomy);
$terms = get_terms($taxonomy, \'slug=\'.$queried_term);
if ($terms) {
echo \'<ul>\';
foreach($terms as $term) {
echo \'<li><a href="\'.get_term_link($term, $taxonomy).\'">\'.$term->name.\'</a></li>\';
}
echo \'</ul>\';
}
?>
现在输出我的作品类别,但这些链接是/作品类别/艺术家/例如,这很好,但它们使用存档。php页面-如何让他们链接到我创建的页面?我尝试过档案艺术家。php,但这并没有得到重视。我不想使用博客存档。php页面显示我的工作类别。有什么想法吗???

-----结束编辑-----

谢谢

E

1 个回复
SO网友:Rutwick Gangurde

正确注册后,“工作类别”页面将显示为“工作”CPT的子菜单页面。以下是关于CPT入门的非常好的帖子:ThinkvitaminJustin Tadlock. 当遇到CPT时,我总是参考这些。

结束

相关推荐

获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s