目前我已创建:
我希望:
// 1- 所有项目列表
www.example.com/projets /
// 2-查看一个项目并列出任务
www.example.com/projet/un-projet /
// 3-查看一个项目的一项任务
www.example.com/projet/un-projet/introduction /
1号和2号不起作用。 我该怎么做?
我在我的functions.php
中添加了这个<?php
add_action( 'init', 'tache_type_register' );
/**
* Ajoute un type de post "Les Tâches" d'un projet
* @link http://codex.wordpress.org/Function_Reference/register_post_type
*/
function tache_type_register() {
$labels = array(
'name' => 'Tâches',
'singular_name' => 'Tâche',
'menu_name' => 'Tâches',
'name_admin_bar' => 'Tâche',
'add_new' => 'Ajouter',
'add_new_item' => 'Ajouter une nouvelle tâche',
'new_item' => 'Nouvelle tâche',
'edit_item' => 'Modifier la tâche',
'view_item' => 'Voir la tâche',
'all_items' => 'Toutes les tâches',
'search_items' => 'Rechercher une tâche',
'parent_item_colon' => 'Tâche parente:',
'not_found' => 'Aucune tâche trouvée.',
'not_found_in_trash' => 'Aucune tâche dans la corbeille.',
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'show_ui' => true,
'show_in_menu' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'projet/%projet%' ),
'capability_type' => 'post',
'has_archive' => true,
'hierarchical' => false,
'menu_position' => 5,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments' ),
//'taxonomies' => array( 'category', 'post_tag' )
);
register_post_type( 'tache', $args );
}
add_action( 'init', 'create_projet_taxonomies' );
/**
* Ajoute une taxonomie Type pour les pour les Projets
* @link http://codex.wordpress.org/Function_Reference/register_taxonomy
*/
function create_projet_taxonomies() {
$labels = array(
'name' => 'Projets',
'singular_name' => 'Projet',
'search_items' => 'Rechercher un projet',
'all_items' => 'Tous les projets',
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => 'Modifier un projet',
'update_item' => 'Mettre à jour',
'add_new_item' => 'Ajouter un nouveau projet',
'new_item_name' => 'New Genre Name',
'menu_name' => 'Projets',
);
$args = array(
'hierarchical' => true,
'labels' => $labels,
'show_ui' => true,
'show_admin_column' => true,
'query_var' => true,
'rewrite' => array( 'slug' => 'i/dont/know/here' ),
);
register_taxonomy( 'projet', array( 'tache' ), $args );
}
/* Filtre pour modifier le permalink Projet */
add_filter('post_link', 'projet_permalink', 1, 3);
add_filter('post_type_link', 'projet_permalink', 1, 3);
function projet_permalink($permalink, $post_id, $leavename) {
if (strpos($permalink, '%projet%') === FALSE) return $permalink;
// Get post
$post = get_post($post_id);
if (!$post) return $permalink;
// Get taxonomy terms
$terms = wp_get_object_terms($post->ID, 'projet');
if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
$taxonomy_slug = $terms[0]->slug;
else $taxonomy_slug = 'no-projet';
return str_replace('%projet%', $taxonomy_slug, $permalink);
}
?>
现在:
查看项目的一项任务,如(www.example.com/projet/homepi/introduction/)工作
查看项目的所有任务,如(www.example.com/projet/homepi/)工作
但是看到像(www.example.com/projet/)这样的所有项目都没有工作
并且不知道create_projet_taxonomy()的param重写。
有人可以帮助我并解释我如何做到这一点?感谢