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

我正在做一个令人沮丧的项目,需要帮助。我需要从正在查看的配置文件页面获取 $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 的短代码。


红颜莎娜
浏览 99回答 2
2回答

ITMISS

所以它可能就像这样简单://very close to your initial codeadd_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 hooksadd_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' ) ;以防万一这是对这些挂钩的要求。

扬帆大鱼

我终于弄明白了!!!这就是最终起作用的!/** * 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' );
打开App,查看更多内容
随时随地看视频慕课网APP