【问题标题】:A dot stops PHP code from functioning properly一个点会阻止 PHP 代码正常运行
【发布时间】:2012-09-02 10:17:33
【问题描述】:

我使用这个简单的代码向我的 Wordpress 网站添加一个基本的简码:

function post_review25() { 
return '<div class="review2-5">Rating:</div>';
 }
add_shortcode('review 2.5', 'post_review25');

所以通过在可视化编辑器中添加[review 2.5],它应该回显&lt;div class="review2-5"&gt;Rating:&lt;/div&gt;。但是,review 2.5 中的点会阻止它运行 - 它会回显 review 2 的代码(我也为此设置了短代码)。

这意味着超出点的任何内容都无法识别。我怎么可能在那里添加一个点并让它发挥作用?

【问题讨论】:

  • 什么是“add_shortcode”?据我所知,这不是一个标准的 PHP 函数。
  • 用于向 Wordpress 添加简码。

标签: php wordpress shortcode


【解决方案1】:

add_shortcode() 的第一个参数应该是类似标签的,但有一些额外的限制:

http://codex.wordpress.org/Shortcode_API

短代码名称应该全部小写并使用所有字母,但数字和下划线(不是破折号!)也应该可以正常工作。

【讨论】:

  • 这是否意味着不可能使用review 2.5?只有 review 2 有效?
  • @HenrikPetterson 如果我是你,我也不会使用空格 ;-) 但 review_25 应该根据文档工作。
  • 为什么我不应该使用空间?有用。是否存在我不知道会导致的任何类型的问题?
  • @HenrikPetterson 当文档中提到should 时,大致意味着任何违反规则的行为都是您自己的责任
【解决方案2】:

您应该改用[review rating="2.5"] 之类的东西。评分值作为处理函数的参数传递。

function post_review($atts) { 
    $rating = $atts['rating'];
    return '<div class="review'.$rating.'">Rating:</div>';
}
add_shortcode('review', 'post_review');

希望对您有所帮助。 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2014-06-28
    • 2021-12-09
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多