用于自定义帖子类型的单个帖子页面

时间:2017-03-17 作者:Mohammad Shohel Rana

我一直在为提交前的主题开发一页WordPress个人公文包主题。

我在头版有一些部分,这是我的主页,这一页的主题。这些部分包括:

服务部

投资组合部分

推荐部分

团队部分等。

,其中大多数都是由自定义帖子类型填充的。

现在我的问题是:

是否必须为每个自定义帖子类型创建单个帖子页面?

如果没有,那么锚定标记()的“href”属性值(我们在这里编写的代码是\\u permalink())会怎么样?我是否应该像href=“#”一样让它保持死寂?

是否必须设计由自定义页面模板创建的分区页面、公文包页面等?

是否必须在自定义post寄存器中保持“has\\u archive”=>true?

这是一个一页的个人投资组合WordPress主题。

提前谢谢。

1 个回复
最合适的回答,由SO网友:rudtek 整理而成

Is it mandatory to create single post page for each of the custom post types?不,不是全部。如果添加“public\\u queryable”=>false;系统不会为您的CPT创建单页条目。(确保在此更改后刷新永久链接)

If not, then what about the ‘href’ attribute value(where we write this code the_permalink()) of the anchor tag ()? Should I keep it dead like href=”#”?当public\\u queryable arg设置为false时,这将只加载到主页

Is it mandatory to design Section Page, Portfolio Page etc. which are created by custom page templates? 不,不是。事实上,如果您将“has\\u archive”=>设置为false;这些页面也不会加载,如果有人试图转到那些存档页面“www.example.com/your\\cpt”,它也会加载到主页。(进行此更改后,请记住刷新永久链接)

Is it mandatory to keep ‘has_archive’ => true in the custom post register? 否。请参阅以上问题的答案。

冲洗你的永久性皮肤。转到仪表板,然后单击设置/永久链接并单击保存。

或者,您可以将其添加到插件中。但此调用只应作为初始化的一部分进行,因为它确实使用了大量资源。您可以这样做:

function my_rewrite_flush() {
    // First, we "add" the custom post type via the above written function.
    // Note: "add" is written with quotes, as CPTs don\'t get added to the DB,
    // They are only referenced in the post_type column with a post entry, 
    // when you add a post of this CPT.
    my_cpt_init();

    // ATTENTION: This is *only* done during plugin activation hook in this example!
    // You should *NEVER EVER* do this on every page load!!
    flush_rewrite_rules();
}

register_activation_hook( __FILE__, \'my_rewrite_flush\' );
这里还有更多信息:https://codex.wordpress.org/Function_Reference/register_post_type

相关推荐