此代码直接放入页面内容时效果很好。
<font color=#ff0000>
<?php global $current_user;
get_currentuserinfo();
echo $current_user->display_name . "\n";
echo 'Level: ' . $current_user->level . "\n <br>";
?>
</font>
结果显示'Sam level 65'
但是,当我将其转换为短代码并尝试用return替换echo时,wordpress会中断,所有屏幕都会变为空白。 这是我尝试过的一个例子:
// Add Shortcode
function custom_shortcode() {
// Code
<font color=#ff0000>
<?php global $current_user;
get_currentuserinfo();
$output = $current_user->display_name . "\n";
$output .= 'Level: ' . $current_user->level . "\n <br>";
return $output;
?>
</font>
}
add_shortcode( 'userlevel', 'custom_shortcode' );
知道我哪里出错了?
提前谢谢!
答案 0 :(得分:0)
您正在使用需要PHP的HTML。这就是你有一个空白屏幕的原因。
以下是我将其转换为短代码的方法:
function wpse_shortcode_userlevel() {
global $current_user;
get_currentuserinfo();
$output = '<span class="shortcode-user-level">';
$output .= $current_user->display_name . "\n";
$output .= "Level: {$current_user->level} \n <br>";
$output .= '</span>';
return $output;
}
add_shortcode( 'userlevel', 'wpse_shortcode_userlevel' );
然后在样式表中添加:
.shortcode-user-level {
color: #ff0000;
}