简码返回在wordpress中跳到div之外
Posted
技术标签:
【中文标题】简码返回在wordpress中跳到div之外【英文标题】:Shortcode return jumps outside div in wordpress 【发布时间】:2013-07-18 17:06:48 【问题描述】:问题是the_ratigs()
跳出<div id="wpratings">
function wpratings( $atts, $content = null )
return '<div id="wpratings"><b>Rating: </b>' . the_ratings() . '</div>';
add_shortcode("wpratings", "wpratings");
短代码输出示例:
5.00 <<< this is output of the_ratings()
Here is the post content
Rating: <<< this is place of <div id="wpratings">
【问题讨论】:
【参考方案1】:通常,任何以the_*
开头的函数都会得到print
的结果。你需要的是一个等效的函数get_the_ratings()
。
在 WP 中,我们有 the_title
和 get_the_title
、the_content
和 get_the_content
。这就是它失败的原因,短代码必须是 return
值,而不是 print
它们。
你没有提到这是什么插件。如果是WP-PostRatings,则没有get_the_rating
,但你有以下内容:
the_ratings($start_tag = 'div', $custom_id = 0, $display = true)
解决方案:将$display
传递为false
。
return '<div id="wpratings"><b>Rating: </b>' . the_ratings('div',0,false) . '</div>';
【讨论】:
我明白了。 get_the_ratings() 是未定义的函数。【参考方案2】:这有什么不同吗?
function wpratings( $atts, $content = null )
$content = the_ratings();
return '<div id="wpratings"><b>Rating: </b>' . $content . '</div>';
add_shortcode("wpratings", "wpratings");
$content
是放在[shortcode]content[/shortcode]
标签之间的内容。
【讨论】:
以上是关于简码返回在wordpress中跳到div之外的主要内容,如果未能解决你的问题,请参考以下文章
wordpress 打印中的简码始终位于顶部,内联 HTML
Wordpress 如何使用简码从 localStorage 获取值