Php 使用WP_用户对象的短代码

Php 使用WP_用户对象的短代码,php,wordpress,shortcode,user-object,Php,Wordpress,Shortcode,User Object,我正在尝试创建一个WP短代码,它将为Wordpress用户插入一个配置文件表单 我想采取以下行动: 其中,$user是正在显示的用户的WP_用户对象 以下是我到目前为止所做的,但它不起作用(我收到一条“坏用户”消息): 我想我很接近了,但是在正确地调用$user时,我遗漏了一些东西。谢谢你的帮助 我已经测试了你的短代码,它在我这边运行得很好 请尝试传递用户ID,而不是用户登录。因为有时用户登录包含空格和特殊字符以及函数参数,所以可能不接受此项。。 因此,请尝试使用用户ID $user=$cur

我正在尝试创建一个WP短代码,它将为Wordpress用户插入一个配置文件表单

我想采取以下行动:
其中,
$user
是正在显示的用户的WP_用户对象

以下是我到目前为止所做的,但它不起作用(我收到一条“坏用户”消息):


我想我很接近了,但是在正确地调用$user时,我遗漏了一些东西。谢谢你的帮助

我已经测试了你的短代码,它在我这边运行得很好

请尝试传递用户ID,而不是用户登录。因为有时用户登录包含空格和特殊字符以及函数参数,所以可能不接受此项。。 因此,请尝试使用用户ID

$user=$current_user->ID

如果你需要更多的帮助,请告诉我

我很乐意帮助你


谢谢你

感谢@yogesh提供了一个简单的解决方案,使我的代码能够正常工作。以下是供参考的最终代码:

function custom_shortcode_sc() {
  $current_user = wp_get_current_user (); 
  $user = $current_user->ID;

  do_action( 'bbpnns_digest_show_profile_form', $user);        
}
add_shortcode( 'custom_shortcode', 'custom_shortcode_sc' );
1) 我要检查用户是否先登录。也许您没有当前用户。还可以检查$current_user是否为对象,而不是false。2) “坏用户”消息的问题是什么?这听起来不像是一个可湿性粉剂的消息。也许不管它期望的是什么,都是完整的用户对象?或者,如果试图从“false”获取$current\u user->user\u login,则可能会导致该消息。添加检查和调试代码。3) 您还没有显示在操作挂钩处添加的操作的代码。IE:在其他地方,你有代码可以“添加动作('bbpnns\u摘要\u显示配置文件\u表单','some\u添加动作”)?@anmari 1)是有意义的。现在我只需要弄清楚如何正确地做到这一点!lol 2-3)我不确定动作的代码在哪里,但我使用的插件的作者指示我使用该动作。我想我确实需要调用cull user对象,因为他还指示我“$user是显示的用户的WP_user对象。”
function custom_shortcode_sc() {
  $current_user = wp_get_current_user (); 
  $user = $current_user->ID;

  do_action( 'bbpnns_digest_show_profile_form', $user);        
}
add_shortcode( 'custom_shortcode', 'custom_shortcode_sc' );