如果您的快捷码“wpv current user”中没有任何内容,您将无法在任何输出中看到任何内容。
您应该使用内置函数wp_get_current_user()
为了这个。
只要小心Codex page 警告这可能需要在使用“init”钩子或在“init”钩子之后激发的操作中调用。
我已经修改了您的代码,因此您应该可以从error\\u log()和放置短代码中获得结果[show_css_code_conditionally]
在帖子/页面中。
add_shortcode(\'show_css_code_conditionally\', \'show_css_code_conditionally_fn\');
function show_css_code_conditionally_fn($atts) {
ob_start(); ?>
<!--- CSS code to show the button conditionally -->
<style type="text/css">
.special-button {
display: block !important;
}
</style>
<?php
$CSS_output = ob_get_clean();
$current_user = wp_get_current_user();
error_log($current_user->ID!==0 ? $current_user->user_email : \'User not logged in\',0);
<?php
if ($current_user->ID!==0) {
// this is confirmed that the user is logged in
return $CSS_output;
} else {
return "\\n<!-- No valid user currently logged in -->\\n\\n";
}
}
因为我不知道短代码是什么
[wpv-current-user]
指的是,我只是把它漏掉了。通常,你会
do_shortcodes()
执行所有适用的短代码,尤其是当您已经在短代码函数中时。