PHP深入了解HTML标签和属性

时间:2018-10-12 02:59:48

标签: php html

我遇到了HTML和PHP混用的情况(至少对我来说是这样,因为我不是PHP专家)。当前,有一个我想使用PHP函数概括的硬编码URL。但是,这是我遇到的问题,因为这种混合变得相当复杂。

在花费了2个小时以上之后,我认为目前看来,在这个主题上浏览似乎并没有讨论此特定用例,并且反复试验并没有产生预期的效果结果。

在模板中,边栏有以下代码:

<h4>About <?php the_title(); ?> </h4>
<div id="about-this-waterfall-acf">
    <?php
        // First attempt HTML in PHP
        $home_url = get_home_url();
        echo '<div class="field-title"><a class="field-value rating" target="_blank" href=' . $home_url . '/rating-criteria/' . '>Rating:</a> <span class="rating">' . the_field('rating') . '</span></div>'; ?>
        // Second attempt PHP in HTML
        <div class="field-title"><a class="field-value rating" target="_blank" href="<$php $homeurl = get_home_url(); echo $homeurl; ?>/rating-criteria">Rating:</a> <span class="rating"><?php the_field('rating'); ?></span></div>
        // The hard-coded URL that I'm trying to generalize
        <div class="field-title"><a class="field-value difficulty" target="_blank" href="https://s1.temporary-access.com/~allacros/sandbox2/difficulty-criteria/">Difficulty:</a> <span class="difficulty"><?php the_field('difficulty'); ?></span></div>

...

此代码的结果可以在侧栏中的以下位置看到: https://s1.temporary-access.com/~allacros/sandbox2/california-switzer-falls.html

在该侧边栏中(英雄图像下方“关于Switzer瀑布”下方),您可以看到2个评分。 第一个具有正确的链接,但是格式设置已关闭,因为“ 2”不在应有的位置,并且未设置格式。 第二个格式正确,但链接错误。

有人知道我在做什么错吗?

谢谢

4 个答案:

答案 0 :(得分:0)

对于第一行,看起来在函数the_field(“ rating”)中有“ echo”语句,这导致在执行“ echo”之前首先输出评级“ 2”。

第二行,“ $ php”处有错误,应该是“?php”。

答案 1 :(得分:0)

将第二条语句更改为以下内容:

<div class="field-title"><a class="field-value rating" target="_blank" href="<$php $homeurl = get_home_url(); echo $homeurl; ?>/rating-criteria">Rating:</a> <span class="rating"><?php echo the_field('rating'); ?></span></div>

答案 2 :(得分:0)

除了其他人提到的关于$的地方,a还可以?应该,您甚至可以通过对链接执行以下操作来简化自己。您所需要做的就是在开始时回显您创建的$ home_url变量。

<a href ="<?php echo $home_url . '/rating-criteria' ?>">link</a>

答案 3 :(得分:0)

真的很简单。您实际上不需要执行许多操作,而实际上只需要一行...

<h4>About <?php the_title(); ?> </h4>
<div id="about-this-waterfall-acf">
    <div class="field-title">
        <a class="field-value rating" target="_blank" href="<?php echo home_url(); ?>/rating-criteria/">Rating:</a>
        <span class="rating"><?php the_field('rating'); ?></span>
    </div>

现在,需要注意的事情...我将HTML分成多行,而不是尝试仅将其保留在一行上。由于静态HTML不需要通过PHP,因此我也将其全部从PHP处理中删除了。这将极大地清理它。

最后,如果您回头看一下代码,您正在回显the_field的返回值。这很可能是您的随机“ 2”来自何处。 the_field应该本身就是输出值,所以您不应该将它的返回值连接起来再输出。