不要那样做!要实现这一点,还有许多其他的选择,这些选择并不繁琐。以下是我的建议。
首先,概述,create a child theme. 这将允许您对主题进行编辑,而不会在更新期间丢失它们。
设置好子主题后,将自定义字段添加到管理页面。我不使用大量插件,但在添加自定义字段时,我使用ACF 因为它非常简单,你可以在几分钟内创建专业的管理布局。如果要手动添加自定义字段check this out.
现在您已经添加了自定义字段,剩下的就是将数据从自定义字段拉入页面模板。
基本代码示例根据主题的不同,这会有所变化,但您应该明白了。在这个例子中,我将使用2017主题。在此主题中,页面的内容来自/模板部件/页面/内容页面。php,所以我在我的子主题中复制了它。
With ACF Plugin (recommended)
假设我使用ACF创建了一个名为“more\\u content”的新编辑器部分。我只想在我的子主题的内容页中放置以下代码。php和您的完成。
<div id="more-content">
<?php
$value = get_field("more_content");
if($value) {
echo $value;
}
?>
</div>
Without ACF Plugin
如果不想使用ACF创建自定义字段,则需要使用以下代码创建字段。。。
add_action(\'add_meta_boxes\', function() {
add_meta_box(\'my_meta_box\', \'Meta Box Title\', \'my_metabox_function\');
});
function my_metabox_function($post) {
$text= get_post_meta($post->ID, \'my_metabox_name\' , true );
wp_editor(htmlspecialchars_decode($text), \'meta_box_id\', $settings = array(\'textarea_name\'=>\'my_input_name\') );
}
add_action( \'save_post\', function($post_id) {
if (!empty($_POST[\'my_input_name\'])) {
$data=htmlspecialchars($_POST[\'my_input_name\']); //make sanitization more strict !!
update_post_meta($post_id, \'my_metabox_name\', $data );
}
});
然后在页面模板中显示数据,如。。。
<?php
$more_content = get_post_meta($post->ID, \'my_metabox_name\', true);
echo $more_content;
?>