Zákaz přístupu na detailové stránky vlastního typu obsahu
Velice často používám vlastní typy obsahu (Custom post types) pro všelijaké funkce. WordPress jim automaticky tvoří stránky s přehledy i detaily … to první (existenci archivu) lze zakázat při definování nového typu obsahu, ale neexistuje možnost zakázat detailové stránky. A proč to vůbec dělat? Především aby je časem nezaindexovaly vyhledávače.
Je třeba si vypomoci hookem template_redirect.
1 2 3 4 5 6 7 |
function my_page_template_redirect() { if( is_singular( 'muj-cpt' ) ) { wp_redirect( home_url(), 301 ); exit(); } } add_action( 'template_redirect', 'my_page_template_redirect' ); |
Než WP přistoupí k výběru, kterou šablonu vzhledu má načíst pro zobrazení obsahu, tak zkontroluji, jestli se nechystá zobrazovat detailovou stránku mého CPT. Pokud ano, tak mám ideální možnost provést vlastní akci … například přesměrovat návštěvníka na jinou URL (pomocí kódu 301 trvale).
← Stránkování archivů Vlastní sloupce v přehledech v administraci → Všechny WordPress kódy