为了账号安全,请及时绑定邮箱和手机立即绑定

如何从个人资料页面获取用户 ID 并在短代码中插入 id=

如何从个人资料页面获取用户 ID 并在短代码中插入 id=

PHP
红颜莎娜 2023-05-26 09:28:32
我正在做一个令人沮丧的项目,需要帮助。我需要从正在查看的配置文件页面获取 $user_id,并将该值插入简码的 id = "_" $atts 字段。我正在使用终极会员作为我的会员插件。我需要将 $user_id 插入的短代码如下...echo do_shortcode( '[aiovg_user_videos id=" '.$user_id.' "]' ); }短代码将进入名为“视频”的个人资料选项卡,该选项卡将包含用户上传和导入的视频。到目前为止我想出的,虽然它没有工作如下......add_filter('um_profile_tabs', 'videos_tab', 1000 );function videos_tab( $tabs ) {    $tabs['videos'] = array(        'name' => 'Videos',        'icon' => 'um-icon-ios-videocam',        'custom' => true    );      return $tabs;}/* Tell the tab what to display */// If is current user's profile (profile.php)if ( defined('IS_PROFILE_PAGE') && IS_PROFILE_PAGE ) {    $user_id = get_current_user_id();// If is another user's profile page} elseif (! empty($_GET['user_id']) && is_numeric($_GET['user_id']) ) {    $user_id = $_GET['user_id'];echo do_shortcode( "[aiovg_user_videos id=" . $user_id . "]" ); }我不是编码员,但我正在学习,所以我真的不知道我还需要什么才能实现这一目标。我已经尝试了很多让我错误的事情。简而言之,我想让短代码从正在查看的用户配置文件中获取用户 ID,这样我就可以显示带有自动填充 ID 的短代码。
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

所以它可能就像这样简单:


//very close to your initial code

add_filter( 'um_profile_tabs', 'um_videos_tab', 1000 );


function um_videos_tab( $tabs ) {

    $tabs['videos'] = array(

        'name' => 'Videos',

        'icon' => 'um-icon-ios-videocam',

        'custom' => true

    ) ;  


    return $tabs ;


}


//profile tab content

//based on how it appears UM has set up its action hooks

add_action( 'um_profile_content_videos', 'um_profile_content_videos' ) ;


function um_profile_content_videos() {


   //got to watch the apostrophes vs quotes so things don't get mixed up

   echo do_shortcode( ' [aiovg_user_videos id="' . um_profile_id() . '"] ' ) ; 


}

我的不确定性部分基于这样一个事实,即我既没有 UM 也没有生成 aiovg_user_videos 短代码的任何东西,因此无法测试或调试。考虑到我有点盲目,在详细研究 UM 代码之前,我的下一次尝试是_default在语句中添加“标记”和“处理程序” add_action——add_action( 'um_profile_content_videos_default', 'um_profile_content_videos_default' ) ;以防万一这是对这些挂钩的要求。


查看完整回答
反对 回复 2023-05-26
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

我终于弄明白了!!!这就是最终起作用的!


/**

 * Add a new Profile tab

 * @param array $tabs

 * @return array

 */

function um_videos_add_tab( $tabs ) {


    $tabs[ 'videos' ] = array(

        'name'   => 'Videos',

        'icon'   => 'um-icon-ios-videocam',

        'custom' => true

    );


    UM()->options()->options[ 'profile_tab_' . 'videos' ] = true;


    return $tabs;

}

add_filter( 'um_profile_tabs', 'um_videos_add_tab', 1000 );


/**

 * Render tab content

 * @param array $args

 */

function um_profile_content_videos_default( $args ) {

    /* START. You can paste your content here, it's just an example. */


    $action = 'videos';


$member_user_id = um_get_requested_user();

echo do_shortcode( "[aiovg_user_videos id=" . $member_user_id . "]" );



    /* END. You can paste your content here, it's just an example. */

}

add_action( 'um_profile_content_videos_default', 'um_profile_content_videos_default' );



查看完整回答
反对 回复 2023-05-26
  • 2 回答
  • 0 关注
  • 98 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信