php WordPress重定向自定义Posttype
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php WordPress重定向自定义Posttype相关的知识,希望对你有一定的参考价值。
<?php
function register_products() {
add_rewrite_tag('%productcat%','(.+)');
register_post_type( 'products',
array(
'labels' => array(
'name' => __( 'Products', 'awave' ),
'singular_name' => __( 'Product', 'awave' ),
),
'public' => true,
'has_archive' => false,
'with_front' => false,
'menu_icon' => 'dashicons-cart',
'rewrite' => array('slug' => __('produkter/%productcat%', 'awave'), 'with_front' => false),
'supports' => array( 'title', 'editor', 'thumbnail' ),
'taxonomies' => array( 'producttype' ),
)
);
register_taxonomy(
'producttype',
'products',
array(
'label' => __( 'Producttype', 'awave' ),
'public' => true,
'show_admin_column' => true,
'publicly_queryable' => true,
'rewrite' => array( 'slug' => __( 'produkter', 'awave' ) ),
'hierarchical' => true,
)
);
}
add_action( 'init', 'register_products' );
// Function to rewrite custom post type URLS
function stegia_product_slug( $post_link, $id = 0 ){
$post = get_post($id);
if ( is_object( $post ) ){
$terms = wp_get_object_terms( $post->ID, 'producttype' );
if( $terms ){
$productSlug = '';
$ancestors = get_ancestors( $terms[0]->term_id, 'producttype', 'taxonomy' );
krsort($ancestors);
foreach($ancestors as $anc) :
$term = get_term( $anc, 'producttype' );
$productSlug .= $term->slug . '/';
endforeach;
$productSlug .= $terms[0]->slug;
return str_replace( '%productcat%' , $productSlug , $post_link );
}
}
return $post_link;
}
add_filter( 'post_type_link', 'stegia_product_slug', 1, 3 );
以上是关于php WordPress重定向自定义Posttype的主要内容,如果未能解决你的问题,请参考以下文章
登录 WordPress 后重定向
板邓:wordpress如何使用wp_rewrite实现自定义伪静态,非301重定向。
联系表单提交后如何重定向到感谢页面 - Wordpress 高级主题联系我们 php 模板 [关闭]
如何将 Wordpress 注销重定向到自定义 URL
根据带有参数的wordpress上的位置重定向到自定义网址
将 Wordpress 的登录/注册页面重定向到自定义登录/注册页面