BuddyPress:我如何将Wordpress选择的模板命名为模板(模板层次结构)?

时间:2019-04-02 作者:gordie

在这里和BuddyPress玩!

我创建了一些新的用户配置文件页面,当我显示内容时,我想进行一个新的帖子查询,并显示循环。

问题是,我想用模板Wordpress来显示循环,他会选择自己-depending on the query, on the theme installed, 等嗯,取决于template hierarchy.

它将是存档{post\\u type}。php,存档。php,索引。php?还有别的吗?

我需要WP返回给我的模板加载。

这有可能吗?怎么可能?

非常感谢!

add_action( \'bp_setup_nav\',\'register_music_menu\', 99 );

function register_music_menu() {
    global $bp;

    ...

    bp_core_new_subnav_item( array(
        \'name\'            => __( \'Playlists\', \'wpsstm\' ),
        \'slug\'            => WPSSTM_PLAYLISTS_SLUG,
        \'parent_url\'      => $bp->displayed_user->domain . WPSSTM_BASE_SLUG . \'/\',
        \'parent_slug\'     => WPSSTM_BASE_SLUG,
        \'screen_function\' => \'view_user_static_playlists\',
    ) );
}

function view_user_static_playlists() {
    add_action( \'bp_template_title\', \'user_static_playlists_subnav_title\' );
    add_action( \'bp_template_content\',\'user_static_playlists_subnav_content\');
    bp_core_load_template( apply_filters( \'bp_core_template_plugin\', \'members/single/plugins\' ) );
}

function user_static_playlists_subnav_content(){
    ...
    //overriding WP Qyery
    query_posts( $args );

    /*HERE,
    I would like to embed a template to display my loop; 
    and I want this to be the template WP would have chosen based on the                 query.  
    In this precise case, it would be the archive template of my custom post type.  
    But, depending of the user\'s theme; I don\'t know if it will be archive-{post_type}.php, archive.php, index.php...
    Well, I just want to get the path WP would have chosen.

    */
    locate_template( $template,true,false );

}

1 个回复
SO网友:mrben522

我认为你在设计这个问题上做得太过火了。如果您所需要做的只是获取适当的归档模板,不管是什么,那么使用get_archive_template() 尽管您可能需要使用{$type}_template_hierarchy 过滤器打开get_query_template() 添加索引。php的可能结果。

相关推荐

更改默认的BuddyPress头像会影响所有站点头像(因为Gravata)

我一直在寻找一种方法来更改成员的默认Buddypress头像,并对其进行了管理,部分只是使用简单的Buddypress codex信息here.但是食品法典信息并没有起到很好的作用。Gravatar似乎覆盖了它,所以codex代码工作的唯一方式是首先禁用Gravatar。我现在面临的问题是,在为buddypress禁用gravatar时,它会在整个网站上禁用它,因此普通wordpress用户(比如管理员/编辑)无法通过wordpress的后端用户配置文件空间编辑他们的头像,因为它是设置好的,所以你可以“在