Best Practice for PHP

时间:2017-02-28 作者:Joey Urbansoul

在执行诸如single之类的模板时。php并且您将php包装在html中,最好是:

启动并停止PHP?例如

 <h1 class="post-tilte"><?php the_title(); ?></h1>
 <p class="post-content"><?php the_content();?></p>

Echo HTML和Escape PHP?例如-

<?php echo \'<h1 class="post-title">\' . get_the_title() . \'</h1>
<p class="post-content"\' . get_the_content() . \'</p>
我没有选择,我发现自己两样都做了,只是好奇地想听听一些想法

5 个回复
SO网友:bueltge

这个问题只与此相关,因为WordPress使用了编码语言和布局语言的混合。如果使用模板语言、语法,则与本主题无关。但对于你的问题。如果您将示例源代码用于主题,更像html这样的布局语言,那么我更喜欢第一种-它对于设计师和用户来说更具可读性,必须阅读标记。创建有关标记的概述、打开和关闭标记等更容易。

对于include-in插件,逻辑和流程更丰富的代码是第二个更容易实现的示例。主要主题是php,而不是标记,这应该在源代码中可见。这也是在模板文件中排除此标记并将标记与逻辑分离时需要考虑的一点。

SO网友:Nicolai Grossherr

就像其他信息一样。WordPress有handbooks for PHP & HTML on best practice regarding coding standards, 也适用于CSS、JavaScript和可访问性。你可能会发现它们有助于深入了解这件事。

SO网友:Anwer AR

正如上面的回答所解释的,第一种方法是对设计师友好的&;第二种方法可能适用于html标记数量很少的插件和复杂php代码的情况。

但大多数WordPress模板标记beforeafter 参数,更适合在函数调用中使用html代码。

例如the_title 它有三个参数

the_title( $before, $after, $echo );
您可以将html传递给以下前后参数

the_title( \'<h2 class="title">\', \'</h2>\', true );
这种方法的优点是

如果标题为空,则设计友好型不会打印html标记。可以在复杂的php代码以及简单的模板文件中使用

SO网友:not2savvy

首选第一种方法,因为:

它清楚地将固定的HTML布局与动态内容分开

根据我的经验,在某些情况下,使用第二种方法似乎更方便。然而,这通常是由于薄弱的(软件)设计,应视为警告信号。

SO网友:Nadav

You’s code示例是边缘的,因为它只显示了两行代码,但我相信总体答案是相当具体的。如果您在HTML块中使用PHP行,请使用第一种方法。如果您在PHP块中使用HTML行,请使用第二行。

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请