Create fixed static pages

时间:2015-08-21 作者:Snowball

我在一个主题中有两个重要的静态页面。一个是确认页面(注册新闻稿后),另一个是感谢页面。

我在各种功能中使用这些功能,并在主题安装时使用预定义内容创建它们。

问题是一些用户倾向于更改slug或页面标题。

我目前正在使用get\\u page\\u by\\u title,但一旦标题更改,则无法使用。我有一个退路,用户可以在选项面板中定义哪一个是他的确认页面,但我真的不喜欢这个解决方案。另一个问题是,一旦标题更改,我的页面模板(例如page confirm.php)也不会自动应用,因此用户也必须选择它。

Is it possible to create fixed static pages that don\'t show up inside "Wordpress Pages"? 像只供内部使用的静态页面?

2 个回复
SO网友:Milo

我不会试图变得太狡猾,对用户隐藏页面。如果他们试图用相同的slug创建一个页面,会发生什么?我认为这只会造成混乱和更多的问题,而不是解决问题。

创建页面时,存储它们的ID,而不是slug。然后让用户通过选项屏幕更改这些选项。这类似于WordPress跟踪您的博客和头版的方式——将它们的ID存储在选项中。

然后对于模板,add a filter to page_template 如果请求页面的ID与选项中存储的ID匹配,则应用自定义模板。

SO网友:Douglas.Sesar

您可以创建自定义的“静态页面”帖子类型,不允许您更新标题。

remove_meta_box( \'post_title\' , \'your_custom_post_type\', \'normal\' );
remove_meta_box( \'slugdiv\' , \'your_custom_post_type\', \'normal\' );
Then add in your static pages programmatically with wp_insert_post(); 并将slug和post\\u标题强制为您想要的内容。

这不是一种理想的方法,但可以让你更好地控制页面。您可能还需要调整该自定义帖子类型的功能。

结束

相关推荐

Converting Posts to Pages

所以我的网站后端有问题,我的托管公司已经为我解决了。在这样做的过程中,他们无意中制作了我所有的页面和帖子。我正在查看承载此功能的数据库post_type 柱我的问题是,如果我更改值post 到page, 这篇文章会再次成为一页吗?如果没有,我如何转换它们?