如何在wordpress页面中创建不同的可编辑部分?

Vin*_*ida 46 wordpress wordpress-theming

我一直在WordPress上构建我的第一个主题,并在将内容添加到不同部分时遇到问题.

我的HTML有点像这样,

<div id="maintext">
   <-- Text -->
</div>
<div id="products">
   <-- Text and Images -->
</div>
<div id="about_company">
   <-- Text boxes -->
</div>
Run Code Online (Sandbox Code Playgroud)

如何确保通过wordpress编辑器添加的内容属于相应的div?对于"maintext"div,我将从页面本身加载内容,但如何动态地向其他2个div添加内容?

我搜索了几个论坛,很多人建议使用小部件添加内容,有没有办法可以在不使用小部件的情况下完成?

任何帮助将很高兴.

met*_*lin 78

不幸的是,在单个页面中添加多个可编辑字段并不是特别容易使用Wordpress本身.

我知道的许多WP开发人员(包括我自己)都依赖于高级自定义字段插件来获取其他内容字段.

实现这一目标的步骤:

1)安装ACF插头.
2)在ACF的设置区域中创建一些新字段.
3)为特定页面或页面组分配新字段.
4)更新给定页面的页面模板,以便显示新字段.

例如,您可以创建一组标准的所见即所得字段,然后将它们分配到"概述"页面.我们称这些字段为:main_text,products_info和about_company.创建字段并将其分配给页面后,当您编辑该页面时,可以编辑其他字段.

对于访问者可以看到的这些新字段,必须将它们添加到用于概述页面的页面模板中.代码可能是这样的:

<div id="maintext">
   <!-- Text -->
   <?php if(get_field('main_text')){ //if the field is not empty
        echo '<p>' . get_field('main_text') . '</p>'; //display it
    } ?>
</div>
<div id="products">
   <!-- Text and Images -->
   <?php if(get_field('products_info')){ //if the field is not empty
        echo '<p>' . get_field('products_info') . '</p>'; //display it
    } ?>
</div>
<div id="about_company">
   <!-- Text boxes -->
   <?php if(get_field('about_company')){ //if the field is not empty
        echo '<p>' . get_field('about_company') . '</p>'; //display it
    } ?>
</div>
Run Code Online (Sandbox Code Playgroud)

这里有很多很好的例子.如果您感觉非常雄心勃勃,而不是安装插件,您甚至可以直接在主题中包含ACF .

  • 这个解决方案对我很有用.由于我的ACF字段是必需的,我可以通过使用*the_field*来略微简化代码,尽管*get_field*在我循环浏览几个帖子时效果很好.如果未设置字段值,它将只输出一个空字符串,根据您的标记,这可能没问题.```<?php the_field('main_text'); ?>``` (3认同)
  • 这正是我所寻找的.我必须说一个惊人的插件,可以很容易地向wordpress添加多个可编辑的部分.非常感谢并为迟到的回复道歉. (2认同)

use*_*515 7

你有三个选择我相信:

  1. 创建一个小部件区域,然后您可以在其中显示文本小部件中的内容:http://codex.wordpress.org/Function_Reference/register_sidebar
  2. 创建一个模板,然后在其中获取不同页面的内容:http://codex.wordpress.org/Page_Templates#File_Folders
  3. 为您的所有网页创建一个新的元框:http://codex.wordpress.org/Function_Reference/add_meta_box

我相信您正在寻找的是选项2.如果您希望在每个页面上显示额外的内容,则其他更具全站点导向.