2 回答
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' ) ;以防万一这是对这些挂钩的要求。
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' );
- 2 回答
- 0 关注
- 98 浏览
添加回答
举报