自定义开机自检类型-固定链接问题

时间:2014-06-29 作者:Placid

我很难正确实现自定义帖子类型。我已经寻找了很长时间的解决方案,但没有找到任何解决方案。以下是我所做的:

在本地wamp服务器中新安装的WordPress(首先启用apache rewrite\\u模块)。

使用默认主题(214)。没有安装插件。

将永久链接更改为“帖子名称”

在plugins文件夹中,创建了一个名为pr\\u custom\\u posts的文件夹,并在其中创建了一个名为pr\\u custom\\u posts的文件。php。在该文件中,我创建了一个自定义帖子类型。代码如下:

/*
* Plugin Name: PR Movies Custom Post
* Plugin URI: http://www.example.com
* Description: Learning Custom Posts
* Author: PR
* Author URI: http://www.example.com
* Version: 1.0
*/

class PR_Movies_Custom_Post {

public function __construct() {
    $this->register_post_type();
    //flush_rewrite_rules();
}

public function register_post_type () {
    $args = array(
        \'labels\' => array (
            \'name\' => \'Movies\',
            \'singular_name\' => \'Movie\',
            \'add_new\' => \'Add New Movie\',
            \'add_new_item\' => \'Add New Movie\',
            \'edit_item\' => \'Edit Movie\',
            \'new_item\' => \'Add New Movie\',
            \'view_item\' => \'View Movie\',
            \'search_items\' => \'Search Movies\',
            \'not_found\' => \'No Movies Found\',
            \'not_found_in_trash\' => \'No Movies Found in Trash\'
        ),
        \'query_var\' => \'movies\',
        \'rewrite\' => array (
            \'slug\' => \'movies/\',
            \'with_front\'=> false
        ),
        \'public\' => true,
        \'publicly_queryable\' => true,
        \'has_archive\' => true,
        \'menu_position\' => 10,
        \'menu_icon\' => admin_url().\'/images/media-button-video.gif\',
        \'supports\' => array (
            \'title\',
            \'thumbnail\',
            \'editor\'
        )
    );
    register_post_type(\'pr_movie\', $args);
    //flush_rewrite_rules();
}
}

 add_action(\'init\', function() {
new PR_Movies_Custom_Post();
//flush_rewrite_rules();
 });
好消息:CPT显示在我的管理面板中,我可以在那里添加和观看电影。

问题:我无法在前端预览电影(通过单击管理面板中CPT中的“视图”)。仅当我将permalink设置为默认值时,它才会显示在前端(http://localhost/wp02/?p=123).

我所尝试的:

转到permalink,将permalink设置保留为“Post name”并保存更改。

在我的代码中的多个位置(逐个)使用flush\\u rewrite\\u rules()。请参阅上面代码中注释掉的部分。

创建的菜单项为:URL:http://localhost/wp02/movies导航标签:电影这会在前端创建一个菜单项,但单击“电影”链接时会显示“未找到”。

这快把我逼疯了。有人能帮忙吗?我将非常感激。

1 个回复
SO网友:Placid

感谢Anjum在评论中提出的建议。通过删除重写段中的前斜杠,问题得到了解决。错误是由以下原因引起的:

\'rewrite\' => array (
    \'slug\' => \'movies/\',
    \'with_front\'=> false
),
该错误已通过以下修改得到解决:

\'rewrite\' => array (
    \'slug\' => \'movies\',
    \'with_front\'=> false
),

结束

相关推荐

How can I find plugins' slug?

我想知道如何才能找到插件的slug(slug=WordPress用来更新插件和确定哪些插件当前处于活动状态的内部名称)?它通常是插件的文件夹名,但如果插件没有文件夹,则是其文件名(如hello.php)。是否有其他例外情况?大小写字符重要吗</插件的slug是否可以与其文件夹名不同?如果有一个叫做hello的插件呢。php和另一个/您好。php/您好。php