是否将按钮添加到我的站点仪表板页面(多站点)?

时间:2019-02-05 作者:joq3

我想在访问站点和仪表板链接旁边添加一个新按钮,该链接在多站点仪表板页面/wp admin/my sites下可见。php

我已经设法在这里添加了按钮,并重命名了访问站点。但问题是链接始终是当前页面,而不是访问站点那样的多站点网络页面。假设我的网络中有两个站点,一个叫做site-1 另一个呢site-2. 我创建的链接将始终转到https://example.com/site-1/mycustomfolder 而不是site-2 应该这样。

这是我目前掌握的代码:

add_filter( \'myblogs_blog_actions\', \'my_sites_visit_site_target_blank\', 10, 2 );
function my_sites_visit_site_target_blank( $actions, $user_blog ) {
     $sites = get_blogs_of_user( get_current_user_id() );
     foreach ( $sites as $site )
        {
                $to_replace = ">" . __( \'Visit\' ) . \'</a>\';
                $to_replace_with = " target=\'_blank\' >" . __( \'Preview 1\' ) . \'</a> | <a href="\'.$site->siteurl.\'/customfolder/" target="_blank">Preview 2</a>\';
                return str_replace( $to_replace, $to_replace_with, $actions );
     }
}

1 个回复
SO网友:joq3

这就是解决方案:

add_filter( \'myblogs_blog_actions\', \'my_sites_visit_site_target_blank\', 10, 2 );
function my_sites_visit_site_target_blank( $actions, $user_blog ) {
                $to_replace = ">" . __( \'Visit\' ) . \'</a>\';
                $to_replace_with = " target=\'_blank\' >" . __( \'Preview 1\' ) . \'</a> | <a href="\'. esc_url( get_home_url( $user_blog->userblog_id ) ).\'/customfolder/" target="_blank">Preview 2</a>\';
                return str_replace( $to_replace, $to_replace_with, $actions );
}