【问题标题】:How to wrap <script> into if statement for wordpress <head>如何将 <script> 包装到 wordpress <head> 的 if 语句中
【发布时间】:2021-02-09 13:36:07
【问题描述】:

我一直在尝试实现由 wordpress 插件制造商提供的代码,我需要一些帮助来确认它是否有效。 有问题的插件是 PaidMembership Pro,它提供了为会员隐藏广告的可能性。 这是我应该添加到模板中的代码的 sn-p:

if ( function_exists( 'pmpro_displayAds' ) && pmpro_displayAds() ) {
    //insert ad code here
}

广告代码是一个简单的 google adsense 代码:

<script data-ad-client="ca-pub-111111111111111" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

我不知道如何正确地做到这一点。我尝试像这样将它添加到 wordpress header.php 但 wordpress 给我一个错误。

<?php if ( function_exists( 'pmpro_displayAds' ) && pmpro_displayAds() ) {
<script data-ad-client="ca-pub-111111111111111" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
} ?>

我也尝试了其他几种变体,但似乎都不起作用。有人可以帮助我至少指出我可以寻找答案的方向吗? if 应该如何包装或应该如何包装?如果我根本不包装它,它只会显示在前端的顶部。

谢谢

【问题讨论】:

    标签: php wordpress if-statement


    【解决方案1】:

    您在尝试中混合了 HTML 和 PHP 代码。 为了让 PHP 生成你想要的 HTML,你必须回显它:

    <?php
    if ( function_exists( 'pmpro_displayAds' ) && pmpro_displayAds() ) {
      echo('<script data-ad-client="ca-pub-111111111111111" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>');
    }
    ?>
    

    有关更多信息,请参阅echo() in PHP-Manuals

    所有 PHP 代码(例如 wordpress-logic)都必须包含在 &lt;?php ?&gt; 中才能被网络服务器执行。

    【讨论】:

    • 是的,我只是在黑暗中拍摄。它现在可以正常工作了,非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 2014-05-07
    • 2014-02-01
    • 2015-08-26
    相关资源
    最近更新 更多