Wordpress循环(the_content)

时间:2015-03-07 20:42:21

标签: php wordpress class echo

我正在使用wordpress创建一个主题,但我有点困惑 php the_content(); 的工作方式。

在下面的示例中,该函数检索单个帖子的所有内容。这包含在div'entry-content'中。这允许我设置内容的样式

<div class="entry-content">
        <?php the_content(); ?>
    </div><!-- .entry-content -->

但是如果我在the_content中有多个div,例如某些图像可能有div id =“image-small”,那么其他人可能会有div“image-large”

这是否意味着我必须使用“文本”标签将我的所有HTML标记复制并粘贴到wordpress后端。这样,包括div在内的所有标记都将存储在数据库中,并使用 the_content()函数检索并注入页面

这似乎是使模板有效的一种非常糟糕的方式。

1)你在DB中存储凌乱的标记

2)用户可以编辑标记并通过(文本标签)

打破模板

有没有更好的解决方案,我误解了WP的工作原理吗? 人们是否通过后端(wordpress ui)将标记存储在BD中

非常感谢

3 个答案:

答案 0 :(得分:0)

是的,你在数据库中存储一些标记是正确的,理论上,用户可能会破坏模板。然而,在实践中,你很少看到这种情况发生。

然而,这个想法是内容中应该有很少的标记。您可能会看到与图像,表格或表单相关的样式,但其他内容很少。

事实上,wordpress通常意味着与WYSIWYG编辑器一起使用,当您插入图像时会添加一些标记,但通常不会破坏您的大模板。

答案 1 :(得分:0)

是的,它将标记存储在数据库中。

您还可以将内容分成不同的自定义字段,并在模板中的任何位置显示这些字段。 因此,用于布局的标记存储在模板中,而不是存储在数据库中。

您可以为此创建自定义字段或元框。如果您不想编码,那么有一个非常受欢迎的插件:http://www.advancedcustomfields.com/

答案 2 :(得分:0)

通常,您不应该使用编辑器进行模板设计,而是将其用于内容。

对于模板设计,更改模板文件,例如,如果它是关于&#34; post&#34;,那么更改&#34; single.php&#34;提交此文件。

  

但是,如果我在the_content中有多个div,那该怎么办呢?   一些图像可能有一个div id =&#34; image-small&#34;其他人可能有一个div   &#34;图像大&#34;

图片已经包含了您选择的图片大小的类,所以您不需要用div包装它并给它一个大小类,如果由于某种原因您只想影响特定的图像,那么你每个图像都有具有图像ID的类。

如果需要,可以安装TinyMCE Advanced,它会为您提供一个选项,可以将特定的类添加到编辑器中,并将其用于编辑器中的设计特定部分,例如:如果要添加边框半径在编辑器中的某些图像中,您可以通过将此代码放入&#34; functions.php&#34;文件:

add_filter( 'tiny_mce_before_init', 'tuts_mce_before_init' );
function tuts_mce_before_init( $settings ) {

    $style_formats = array(
        array(
            'title' => __('Border Radius', 'your_theme'),
            'selector' => 'p',
            'classes' => 'border_radius',
        )
    );
    $settings['style_formats'] = json_encode( $style_formats );
    return $settings;
}

您将在编辑器中看到&#34;格式&#34;标签&gt; &#34;格式&#34;类&#34; border-radius&#34;,现在将其添加到您想要的图像/其他元素。

使用您想要的设置将类添加到CSS样式文件中。