将内容区域添加到自定义页面模板

时间:2014-09-02 作者:JHP

我不知道该怎么问这个问题,这就是为什么我在谷歌搜索中找不到任何东西。我希望这里的人能理解我在寻找什么,并能指导我如何实现它。

我正在制作一个自定义主题。我想做的是在我的模板页面上有几个区域,客户端可以添加文本。每个区域将位于不同的分区中。在管理编辑页面上,当选择模板页面时,将有一个字段供客户端为每个分区添加内容。

<div id="div1">
   Content brought in by admin
</div>
<div id="div2">
   Content brought in by admin
</div>
<div id="div3">
   Content brought in by admin
</div>
我想通过管理员编辑页面来实现这一点,而不是将内容数字化。

模板中为:

<?php the_content(); ?>
有没有办法创建多个,再加上函数中的一些魔力。php会在管理编辑页面上创建要编辑的字段吗?

在此之前,我感谢您抽出时间来帮助我。如果你需要更多信息,请告诉我。我只是在寻找方向,我确实试着自己解决这个问题,但我的搜索没有找到任何相关信息,所以我认为我没有使用正确的语言。

3 个回复
SO网友:JHP

感谢大家的帮助和指导。我决定走另一条路,在主页部分使用帖子类别。这并不完全是我想要做的,但似乎是实现我所期待的最终结果的最便捷的方式。客户端很容易更新,但不像我成功地实现了最初的目标,即更新模板页面编辑器以添加三个部分那样容易。我仍将继续这方面的工作,您的信息将帮助我开始,所以谢谢您。

同时,我正在调用模板页面中的每个帖子类别。我正在使用下面的代码,我相信有一种方法可以对代码进行微调,使其不会那么庞大。(如果你有什么建议,请随时教育我)

无论哪种方式,它似乎都很有效。

<!--Header Home Part One-->
<div class="home1">
<?php
$my_query = new WP_Query( \'cat=9\' );
$args = array( \'posts_per_page\' => 1 );
if ( $my_query->have_posts() ) { 
while ( $my_query->have_posts() ) { 
    $my_query->the_post();
}
}
?>
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
<?php the_content(); ?>
<?php wp_reset_postdata(); ?>
<!--/home1--></div>
<!--Header Home Part two-->
<div class="home2">
<?php
$my_query = new WP_Query( \'cat=10\' );
$args = array( \'posts_per_page\' => 1 );
if ( $my_query->have_posts() ) { 
while ( $my_query->have_posts() ) { 
    $my_query->the_post();
}
}
?>
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
<?php the_content(); ?>
<?php wp_reset_postdata(); ?>
<!--/home2--></div>
<!--Header Home Part Three-->
<div class="home3">
<?php
$my_query = new WP_Query( \'cat=11\' );
$args = array( \'posts_per_page\' => 1 );
if ( $my_query->have_posts() ) { 
while ( $my_query->have_posts() ) { 
    $my_query->the_post();
}
}
?>
<h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
<?php the_content(); ?>
<?php wp_reset_postdata(); ?>
<!--/home3--></div>
再次感谢您,如果您认为上面的代码可以写得更好,请不要犹豫告诉我。我边走边学习,感谢所有的帮助!

SO网友:Finn

我最终使用了高级自定义字段插件。使用您的示例,您希望在主页上创建3个部分。首先安装ACF插件。然后创建自定义字段并将其添加到主页模板中。在设置区域中,为每个字段指定一个特定标题。然后,在主页模板中,您可以编写如下内容:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <div class="container">

        <div class="home1">
            <p><?php the_content(); ?></p>
        </div>

        <div class="home2">
            <?php the_field( \'home2-custom-field\' ); ?>
            <p><?php the_content(); ?></p>
        </div>

        <div class="home3">
            <?php the_field( \'home3-custom-field\' ); ?>
            <p><?php the_content(); ?></p>
        </div>

    </div>
<?php endwhile; endif; ?>
.home1 将是默认的WordPress内容编辑器区域,并且.home2.home3 是你的两个新ACF。the_field() 获取特定的自定义内容,然后使用the_content() 像往常一样显示它。我是WordPress主题开发的新手,所以我不是百分之百地认为这是最好的方法,但它对我来说非常有效。:)

SO网友:icicleking

我会支持Howdy\\u McGee的建议。在开始考虑创建自定义模板之前,您需要了解the loop. 在深入主题之前,先寻找问题的简单解决方案。

结束

相关推荐

多个具有不同$设置[‘Drag_Drop_Upload’]值的TinyMCE(Wp_EDITOR)中断

当我有两个+分开的wp_editors 具有不同的值drag_drop_upload 它们都被建造成drag_drop_upload 设置为true。如果我将它们全部设置为false,它们会按照预期的方式工作,但如果它们具有不同的值,则不会。下面是要演示的代码:add_action( \'add_meta_boxes\', function() { add_meta_box( \'asdf123_editors\', \'Editors\', function() { &