我正在工作的网站有几个页面需要填充不同的内容元素,如文本图像组合、滑块、内容列表等。客户端需要重新排序这些内容块,添加新内容块等等。每个内容块都是一段内容(帖子或自定义帖子类型)或一个内容列表。
据我所知,我有两种选择:
使用复杂的插件拖放预定义的内容从开发的角度来看,我不希望将所有逻辑都留给第三方插件。看来我会失去一些对模板的控制?
但短代码似乎不是任何客户都能接受的解决方案,真的,因为它们太技术化了。
有什么建议吗?是否有最佳实践?
我正在工作的网站有几个页面需要填充不同的内容元素,如文本图像组合、滑块、内容列表等。客户端需要重新排序这些内容块,添加新内容块等等。每个内容块都是一段内容(帖子或自定义帖子类型)或一个内容列表。
据我所知,我有两种选择:
使用复杂的插件拖放预定义的内容从开发的角度来看,我不希望将所有逻辑都留给第三方插件。看来我会失去一些对模板的控制?
但短代码似乎不是任何客户都能接受的解决方案,真的,因为它们太技术化了。
有什么建议吗?是否有最佳实践?
我评估了不同的选项,并使用了一个插件“页面生成器”。虽然技术方面不是很好(例如数据持久化:所有内容都序列化),但这是唯一的选择,可以给我足够的灵活性和舒适度,以便客户可以更改每个页面的结构。
由于序列化,从dev迁移到stage到live也是一件痛苦的事情,而且只有使用另一个插件(replicator)才能实现。
感谢大家的投入!
这是一个有趣的问题,尽管对于问答来说有点过于宽泛;一个模型。下面是我要做的:
创建自定义帖子类型,其中每个帖子都是一个内容块,为由代码块组合而成的页面创建第二个自定义帖子类型。代替内容字段,创建十个下拉字段(如果页面上可能有更多块,则创建更多)。对于select
在下拉列表中的选项中,获取第一个自定义帖子类型中所有帖子的标题。这样,任何新的内容块都将自动可用于组装
虽然短代码本身与函数相关联,但我认为您可以将它们与模板和用于输入数据的元盒结合使用。例如:
add_shortcode(\'content-box\',\'content_box_function\');
function content_box_function() {
global $post;
$title = get_post_meta($post->ID,\'_content_box_title\',true);
$content = get_post_meta($post->ID,\'_content_box_content\',true);
get_template_part(\'templates/content\',\'box\');
}
/wp-content/themes/themes-slug/templates/content-box。php<div class="content-box-container">
<div class="content-box">
<h3 class="content-box-title"><?php echo $title; ?></h3>
<div class="content-box-content"><?php echo $content; ?></div>
</div>
</div>
然后在写后屏幕中添加一个元框,以允许用户选择/定义元值,以便与您用于每个内容块短代码的键配合使用。允许您在内容中的任何位置排序/放置短代码,并根据需要保留其他内容,但可以为预定义的内容块类型制定模板(和相关样式)。
您可以考虑使用页面模板。例如,我将使用联系人页面。“联系人页面.php”
然后可以编写模板所需的代码。为了保持灵活性,请查看如何使用定制器(如果您不熟悉它),并在模板页面中使用它,以便管理员无需查看代码即可修改页面内容。这就是我制作模板的方式。
正如标题所述,我需要向add_shortcode() 作用换句话说,我传递的那些参数将在的回调函数中使用add_shortcode(). 我该怎么做?请注意,这些与以下结构无关[shortcode 1 2 3] 哪里1, 2, 和3 是用户传递的参数。在我的情况下,参数仅用于编程目的,不应由用户负责。谢谢