【问题标题】:Wordpress Shortcode not working with WP Codex command and PHPWordpress Shortcode 不适用于 WP Codex 命令和 PHP
【发布时间】:2013-05-20 05:11:38
【问题描述】:

下面是我遇到的一个 php 问题,它可以以其他方式工作,但也不能按我希望的方式工作。

基本上我希望将 WP 登录和注销命令添加到 A-HREF 链接,但关闭的短代码似乎没有生效,我想知道为什么并希望解决这个问题。

<?php
    echo do_shortcode('[not-level-visitors]') .
        '<div id="SignUp">
            <ul>
                <li><img src="http://dev.universitycompare.com/wp-content/themes/blue-and-grey/images/icons/user_icon.png" alt="User Icon My Account University Compare" />
                    <a href="http://dev.universitycompare.com/account/" style="margin: 0px 0px 0px -8px;">My Account</a>
                </li>
                <li>
                    <a href="' .  wp_logout_url($redirect) . '">Log Out</a>
                </li>
            </ul>
        </div>' . 
    do_shortcode('[/not-level-visitors]');
?>

基本上,上面的代码有点工作,但我只需要关闭短代码就可以工作,因为它出现在我的 html 中并且未被识别 - 我已经从下面的 sn-p 创建了上面的代码,我已经在使用完全有效:

<?php
    echo do_shortcode('[level-visitors]
        <div id="SignUp">
            <ul>
               <li>
                   <a href="#">Sign Up</a>
               </li>
               <li>
                   <a href="#">Login</a>
               </li>
            </ul>
        </div>
    [/level-visitors]');
?>

【问题讨论】:

    标签: php html wordpress shortcode


    【解决方案1】:

    您似乎需要删除额外的开/关括号和额外的 do_shortcode 调用。

    <?php
    echo do_shortcode('[not-level-visitors]' .
        '<div id="SignUp">
            <ul>
                <li><img src="http://dev.universitycompare.com/wp-content/themes/blue-and-grey/images/icons/user_icon.png" alt="User Icon My Account University Compare" />
                    <a href="http://dev.universitycompare.com/account/" style="margin: 0px 0px 0px -8px;">My Account</a>
                </li>
                <li>
                    <a href="' .  wp_logout_url($redirect) . '">Log Out</a>
                </li>
            </ul>
        </div>' . 
    '[/not-level-visitors]');
    ?>
    

    【讨论】:

      【解决方案2】:

      我发现的主要区别是对 do_shortcode 的单个调用与多个调用,我认为它无法匹配正则表达式。

      也许这会起作用:

          echo do_shortcode('[not-level-visitors]
              <div id="SignUp">
                  <ul>
                      <li><img src="http://dev.universitycompare.com/wp-content/themes/blue-and-grey/images/icons/user_icon.png" alt="User Icon My Account University Compare" />
                          <a href="http://dev.universitycompare.com/account/" style="margin: 0px 0px 0px -8px;">My Account</a>
                      </li>
                      <li>
                          <a href="' .  wp_logout_url($redirect) . '">Log Out</a>
                      </li>
                  </ul>
              </div>[/not-level-visitors]');
      

      【讨论】:

      • 太棒了!准确无误地工作,它必须包含在相同的括号中,否则短代码会中断。
      猜你喜欢
      • 1970-01-01
      • 2011-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-06
      • 2018-03-31
      相关资源
      最近更新 更多