Przekonałem się, że to miejsce było dobrym źródłem informacji w przeszłości przez wiele Googlingów na temat problemów, które napotkałem. Moje pytanie dotyczy pełnych reguł przepisywania używanych przez WordPress.
Skonfigurowałem niestandardowy typ postu o nazwie projekt i zarejestrowałem niestandardową systematykę o nazwie projekty . Wszystko działa świetnie, z wyjątkiem opcji przepisywania informacji o błędzie, ponieważ mogą powodować konflikty - najprawdopodobniej z powodu reguł przepisywania.
Zasadniczo jest to struktura, którą chcę osiągnąć:
example.com/work/%taxonomy%/%post_name%/
(dla postów)example.com/work/%taxonomy%/
(wymień posty należące do określonego terminu systematyki)example.com/work/
(idzie do page-work.php, który zawiera taxonomy.php, aby wyświetlić listę wszystkich postów związanych z tą taksonomią)
Oto kod, który mam do tej pory, ale potrzebuję pomocy w pisaniu reguł WP_Rewrite, ponieważ jest to kawałek, na którym jestem trochę zaskoczony.
$labels = array(
'name' => _x('Projects', 'post type general name'),
'singular_name' => _x('Project', 'post type singular name'),
'add_new' => _x('Add New', 'project item'),
'add_new_item' => __('Add New Project'),
'edit_item' => __('Edit Project'),
'new_item' => __('New Project'),
'view_item' => __('View Project'),
'search_items' => __('Search Projects'),
'not_found' => __('Nothing found'),
'not_found_in_trash' => __('Nothing found in Trash'),
'parent_item_colon' => ''
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'hierarchical' => true,
'rewrite' => array('slug'=>'work', 'with_front'=>false),
'show_ui' => true,
'_builtin' => false, // It's a custom post type, not built in!
'capability_type' => 'post',
'query_var' => "project", // This goes to the WP_Query schema
'menu_position' => null,
'supports' => array('title','editor','thumbnail', 'comments', 'author', 'excerpt')
);
register_post_type('project' , $args);
// Showcase Taxonomy
register_taxonomy('projects', array('project'), array(
'public' => true,
'hierarchical' => true,
'label' => 'Project Categories',
'singular_label' => 'Project Category',
'query_var' => true,
'rewrite' => array('slug'=>'work', 'with_front'=>false, 'hierarchical'=>true)
)
);
Wielkie dzięki za Twoją pomoc! :-)
Odpowiedzi:
Mam nadzieję, że to rozwiąże problem
to, co musisz utworzyć, to archive-work.php (archiwum typu postu) i taxonomy.php, które wykorzystają do wyświetlenia niestandardowego archiwum taksonomii.
źródło
Miałem ten sam problem i po wielu zmaganiach skończyłem z tym rozwiązaniem.
Po prostu dodaj to do swojego kodu
źródło
functions.php
pojawił. Kod wtyczki i motywu jest dokładnie taki sam, jedyną różnicą są motywy, w których zawsze się znajduje,functions.php
lub plik zawartyfunctions.php
after_switch_theme
haka, jest nowy w wersji 3.3 (IIRC).Bardziej szczegółowe wyjaśnienie znajduje się w innym poście , ale oto podstawowe części, które musisz dodać:
Zarejestruj swoje taksonomie i kpt. Upewnij się, że Twój podrożnik dla taksówki to „basename”, a przerób dla cpt to „basename /% nazwa_atrybutu%”.
Powiedz wordpressowi, co zrobić z „% tax_name%” w następujący sposób:
źródło