使用Wordpress页面作为自定义帖子类型永久链接的基础

时间:2014-04-02 20:53:28

标签: php wordpress

所以我尝试使用以下永久链接结构在Wordpress中设置网站:

http://www.site.com/trades/trade-type

我希望交易成为一个实际的页面,并且我已经将交易类型创建为自定义帖子类型。

在我的交易型自定义帖子类型中,我将slug设置为' trades'使用永久链接作为我的基础结构。因此,我在自定义帖子类型下创建的所有帖子都应该继续/交易网址。

当我设置这个slug时,我能够在/ trades / trade-type页面上成功保存和查看页面。但是当我试图进入/交易页面时,它就会崩溃。

当我将slu to更改为' trades2'在我的自定义帖子类型中,我能够成功查看/交易页面,但是我创建的所有交易类型现在都在交易2 /交易类型下。

/ trades页面和自定义帖子类型slug之间似乎存在某种冲突。有没有办法可以编辑functions.php来兼顾两者?任何帮助将不胜感激。

以下是我的functions.php,适用于交易类型的自定义帖子类型

//Register Custom Trades Post Type
function custom_trades() {

$labels = array(
    'name'                => _x( 'Trades', 'Post Type General Name', 'text_domain' ),
    'singular_name'       => _x( 'Trade', 'Post Type Singular Name', 'text_domain' ),
    'menu_name'           => __( 'Trades', 'text_domain' ),
    'parent_item_colon'   => __( 'Parent Trade:', 'text_domain' ),
    'all_items'           => __( 'All Trades', 'text_domain' ),
    'view_item'           => __( 'View Trade', 'text_domain' ),
    'add_new_item'        => __( 'Add New Trade', 'text_domain' ),
    'add_new'             => __( 'Add New', 'text_domain' ),
    'edit_item'           => __( 'Edit Trade', 'text_domain' ),
    'update_item'         => __( 'Update Trade', 'text_domain' ),
    'search_items'        => __( 'Search Trade', 'text_domain' ),
    'not_found'           => __( 'Not found', 'text_domain' ),
    'not_found_in_trash'  => __( 'Not found in Trash', 'text_domain' ),
);
$rewrite = array(
    'slug'                => 'trades',
    'with_front'          => true,
    'pages'               => true,
    'feeds'               => true,
);
$args = array(
    'label'               => __( 'ds_trades', 'text_domain' ),
    'description'         => __( 'Post Type Description', 'text_domain' ),
    'labels'              => $labels,
    'supports'            => array( 'title', 'editor', 'author', 'thumbnail', 'custom-fields', 'page-attributes', ),
    'taxonomies'          => array( 'category' ),
    'hierarchical'        => true,
    'public'              => true,
    'show_ui'             => true,
    'show_in_menu'        => true,
    'show_in_nav_menus'   => true,
    'show_in_admin_bar'   => true,
    'menu_position'       => 5,
    'menu_icon'           => 'dashicons-admin-generic',
    'can_export'          => true,
    'has_archive'         => true,
    'exclude_from_search' => false,
    'publicly_queryable'  => true,
    'rewrite'             => $rewrite,
    'capability_type'     => 'page',
);
register_post_type( 'ds_trades', $args );

}

// Hook into the 'init' action
add_action( 'init', 'custom_trades', 0 );

1 个答案:

答案 0 :(得分:0)

你在问为什么它吓坏了 domain.com/trades 但页面 domain.com/trades/trade-article。正在努力。

我确定WordPress正在搜索此时被调用的档案 archive-trades.php在你的主题文件夹中。

此处提供详细说明 http://www.wpbeginner.com/wp-tutorials/how-to-create-a-custom-post-types-archive-page-in-wordpress/