WordPress:在模板中插入自定义标记

时间:2012-07-09 18:40:45

标签: wordpress wordpress-theming

我有一个page.php模板,我希望将第一部分包装在<div id="featured">中以不同方式设置样式。我该怎么做?

我无法在我的模板中插入div,因为the_content()只输出整个内容。我可以在HTML模式下在编辑器中插入附加标记,但是我必须为每个新页面重复此过程。此外,编辑器似乎无缘无故地插入空p标签。

Markup看起来像这样:

<img>
<p>

<p>
<p>
<P>
...

我想要的是:

<div id="featured">
 <img>
 <p>
</div>

<p>
<p>
...

最好的方法是什么?

修改:感谢您的回答。经过一番搜索后,我发现了我正在寻找的东西,并不像我希望的那样直截了当,但这就是生活:) http://wp.smashingmagazine.com/2011/10/14/advanced-layout-templates-in-wordpress-content-editor/

2 个答案:

答案 0 :(得分:1)

精选图片和摘录的经典案例!

你可以在你的functions.php

中同时启用它们
add_post_type_support( 'page', 'excerpt' );
add_theme_support( 'post-thumbnails');

然后在你的tempate文件中(页面的page.php和帖子的single.php)你会有

 <div id="featured">

      // This is your excerpt

        <?php if(!empty($post->post_excerpt)) { ?>

            <div class="your-excerpt"><?php the_excerpt(); ?></div>

       <?php } ?>

     // And this is your featured image - pulled in at 960 wide

        <?php if (function_exists('has_post_thumbnail') && has_post_thumbnail()) {

            $img_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), array( 960,960 )); ?>

            <div class="the-image">
                <img src="<?php echo $img_src[0]; ?>" /> 
            </div>

    <?php }; ?>

  </div>

要确保在后端可以看到摘录和精选图像,请在页面和后期编辑屏幕中点击右上角的“屏幕选项”标签,然后从下拉菜单中确保选中这些复选框。将文本添加到摘录输入框中,然后通过右侧的特色图像对话框上传图像。

答案 1 :(得分:0)

您可以使用Wordpress API过滤the_content(),但我不知道您是否可以自己完成此操作。看看这个插件

http://wordpress.org/extend/plugins/text-replace/

在内容中进行了一些搜索和替换 - 也许您可以使用它。用于过滤the_content的API在此处描述

http://codex.wordpress.org/Plugin_API/Filter_Reference