Hej. Używam niestandardowego typu wpisu w wordpress. I zarejestrować ten niestandardowy typ postu tak:Wordpress niestandardowe kategorie typów postów
register_post_type("lifestream", array(
'label' => 'Lifestream',
'public' => true,
'hierarchical' => true,
'menu_position' => 5,
'supports' => array('title','editor','author','thumbnail','comments','custom-fields'),
'taxonomies' => array('category','post_tag'),
'query_var' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'caller_get_posts' => 1
));
register_taxonomy_for_object_type('category', 'lifestream');
register_taxonomy_for_object_type('post_tag', 'lifestream');
W motywu (szablonu pętla) lubię łączyć posty i moje niestandardowy typ pocztowy, na który używam query_posts() z następującymi parametrami:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => array('post', 'lifestream'),
'paged' => $paged,
'cat' => $wp_query->get('cat'),
'tag' => $wp_query->get('tag'),
'year' => $wp_query->get('year'),
'monthnum' => $wp_query->get('monthnum'),
'post_status' => 'publish',
'showposts' => 3
);
query_posts($args);
# the loop
while (have_posts()) : the_post();
# markup
endwhile;
if($wp_query->max_num_pages > 1):
# next_posts_link/previous_posts_link
endif;
wp_reset_query();
To działa do tej pory. Ale mam problemy ze stronami kategorii i tagów. Jeśli zadzwonię na pierwszą stronę, wszystko jest w porządku i mogę się stronicować na stronach, uzyskując poprawne wyniki.
A jeśli zadzwonię pod adres URL strony, np./category/mycat/page/2 a 404 jest wyrzucane. Ale na pewno powinny być posty. Nie ma znaczenia, czy istnieją niestandardowe posty lub normalne posty w tej kategorii. Przypuszczam, że moje parametry dla query_posts() nie są poprawne, ale nie wiem ...
Wygląda na to, że $ wp_query-> max_num_pages ma złą wartość. Ale dlaczego? Czy mogę poprawnie zarejestrować taksonomie (lubię używać kategorii i tagów dla moich niestandardowych typów wpisów)?
Czy masz jakiś pomysł, co robić? Wielkie dzięki!
Po prostu przekazałem ci tę formę kodu z moich notatek. Dobra robota. pre_get_posts jest trudny do pokonania! – BenRacicot
Ta praca dla mnie, mają ten sam problem z CPT, dzięki – MrRoman