问题是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">
答案 0 :(得分:4)
通常,任何以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>';
答案 1 :(得分:0)
这有什么不同吗?
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]
代码之间的内容。