关于处理以内容为中心的页面的一般建议

时间:2013-11-29 作者:wittyhandle

我想把一个网站移植到Wordpress中,它不仅包含一个About页面,还包含一个完整的About部分,其中包含各种页面,突出显示公司的特定细节。每一个页面的布局和内容都有所不同,但没有一个页面可以被描述为可以修改为自定义帖子类型。这主要是因为站点在任何给定时间都应该只有这些页面的一个实例。

因此,我正在寻找一些关于如何处理此类页面的建议。据我所知,这两个选项是自定义模板和自定义帖子类型,但两者似乎都有缺点:

自定义模板允许作者创建页面并将其与适当的模板相关联,但我想为这些页面的某些方面添加额外的元数据库。但似乎(如果我错了,请纠正我)向页面添加元盒会将其应用于所有页面关于最佳方法有什么建议吗?我倾向于CTP,但很想知道这些类型页面的最佳实践。

提前感谢

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

“关于最佳方法的建议”问题在这里并不适合提出很好的问题,因为它们往往涉及面很广,并受意见的影响,但我会给你一些选择,并希望是最好的。

选项1:

您应该能够使用普通页面进行此操作。正如您在第一个选项中考虑的那样,为自定义内容创建模板。然后,您可以根据这些模板选择有条件地添加元数据库。

function conditional_box_loader($post) {
  $template = (!empty($post->page_template)) ? $post->page_template : \'default\';
  switch ($template) {
    case \'template-one.php\' :
      // add metaboxes for this template
    break;
    case \'template-two.php\' :
      // add metaboxes for this template
    break;
    default :
      // add fallback boxes, if required.
      add_meta_box(
        \'read_only_content_box\', // id, used as the html id att
        __( \'Post Content (Read Only)\' ), // meta box title
        \'read_only_cb\', // callback function, spits out the content
        \'page\', // post type or page. This adds to posts only
        \'advanced\', // context, where on the screen
        \'low\' // priority, where should this go in the context
      );
  }
}
// callback I stole from another answer I wrote earlier today
function read_only_cb($post) {
  echo apply_filters(\'the_content\',$post->post_content);
}
选项2:您可以用CPT做基本相同的事情,而专用的帖子类型可能更方便。

选项3:

您可以根据帖子标题、ID进行切换,或者创建一个带有“主”开关的元框,该开关允许您选择要启用的元框“集”,而不是根据模板选择进行切换。

结束

相关推荐