多站点中的上下文问题-获取每个博客中的主站点数据(Get_Pages())

时间:2012-07-29 作者:OS.

我在一个多站点上工作,所有的东西都经过配置,可以从仪表板上正常工作。现在,我正在尝试编写一个带有PHP文件的插件,该文件显示在站点中创建的页面列表,并显示给登录站点的管理员。

下面是代码(简化)

<?php
require(\'../../../wp-load.php\');
?>
(some HTML)
<?php    
    $pages = get_pages();                                  

    foreach ( $pages as $page ) {
        echo $page->post_title . \'<br>\'
?>
我的插件PHP文件使用login_redirect 在登录到我试图显示用户创建的页面列表的PHP文件后,通过过滤器重定向用户:

function my_login_redirect( $redirect_to, $request ) { 
    return \'/wp-content/plugins/my-admin-plugin/my-admin-view-all-pages.php\'; 
}
问题是,无论我在哪个站点,我都会得到在“主”站点中创建的页面列表。如何将现有站点的上下文传递给功能?

1 个回复
SO网友:brasofilo

你这样做是不对的。

两种可能性:

1) 创建一个仪表板小部件来显示网络仪表板的信息,但很好地说明了:How to Display Network Post Count?
  • 最小控件:
  • add_action(\'wp_dashboard_setup\', \'wpse_60096_dashboard_widget\');
    
    function wpse_60096_dashboard_widget() {
        if( current_user_can( \'activate_plugins\' ) )
            wp_add_dashboard_widget( 
                \'wpse_60096\', 
                \'Site Pages\', 
                \'wpse_60096_add_widget_content\'
            );
    }
    
    function wpse_60096_add_widget_content() {
        $pages = get_pages();                                  
        foreach ( $pages as $page ) 
            echo $page->post_title . \'<br>\'; 
    }
    
    注册不可见的子菜单页Plugin - create a page without it appearing in the side menuHow to create and link to administration page for a plugin?

    结束

    相关推荐

    在MultiSite中的循环外部获取_Author_meta的$user_id

    因此,我目前正在运行一个多站点安装,超级管理员将创建所有新站点。我们使用的其中一个模板有一个贷款官员的博客页面。我正在扩展用户配置文件,以便新用户可以输入需要在其页面上显示的关键数据。除了创建站点时自动添加的超级管理员之外,每个站点只有一个用户。我发现,如果要使用该函数,需要指定用户IDthe_author_meta(); 循环外部。这是我的问题。我无法在模板中输入ID,因为每个新的贷款官员都将使用相同的主题模板。那么,如何使这些字段成为动态的呢?下面是配置文件部分的图像,以便LO在视觉上有所帮