如何获取WordPress网络主页上的Via URL(或站点名称)?

时间:2018-01-10 作者:Galgóczi Levente

大家好!我用“WDS multisite Aggregate”插件将我的多站点上的所有网络帖子列在我的网络主页上。这很好,但现在我想在每个帖子上方获取作者/发布者子网站的域,类似于:按author\\u name,仅在本例中如此:通过subsite\\u url。

因此,现在,如果Author1在自己的网站上发布了一篇新文章,例如[subsite1.network.com],那么这篇文章会立即出现在[network.com]的主页上,并出现在文章内容上方,即作者的用户名,即:by Author1。

除此之外,所有“共享”帖子的链接标题控件都指向发布者网站,因此,例如,当在[network.com]的主页上出现新帖子时,当我使用此链接时,此帖子标题将显示给[subsite.network.com/current post idx]the_title( sprintf( \'<h2 class="entry-title" style="" itemprop="headline"><a href="%s" rel="bookmark">\', esc_url( get_permalink() ) ), \'</a></h2>\' ); 如果我打开[network.com/current post idx],则会重定向到[subsite.network.com/current post idx]。

所以get_permalink() 显示作者发布的原始帖子。

现在我希望类似的内容出现在作者网站的帖子内容上方,他可以在哪里发布当前帖子,因此:通过[子网站1.network.com]。

所以,如果get_permalink() = [subsite1.network.com/current post idx],在同样的情况下,我如何简单地获得[subsite1.network.com]?

。。。get_home_url()get_site_url() 显然是向[网络]显示的,因为它属于这个特定的主页。

对不起,这是我的第一个问题,之前我在互联网上找到了关于这个主题的所有信息,但关于这个,我在任何地方都找不到任何信息。

2 个回复
最合适的回答,由SO网友:Galgóczi Levente 整理而成

The ultimate answer here, if you have a subdomain based multisite

(这在任何情况下都适用于基于子域的多站点,如果您的规范URL正常->那么您的永久链接将显示给父站点…)。

仅更换yournetworkdomain.com 到您的网络域:

$posturl = esc_url( get_permalink() );
$find = array( \'http://\', \'https://\' );
$replace = \'\';
$purepostaddress = str_replace( $find, $replace, $posturl );
$afterdomain = explode(\'yournetworkdomain.com\', $purepostaddress);
$currentpostslug = $afterdomain[1];
$find = array( \'\' . $currentpostslug . \'\' );
$replace = \'\';
$parentblogaddress = str_replace( $find, $replace, $purepostaddress );

$blogid = get_blog_id_from_url(\'\' . $parentblogaddress . \'\');
$blog_details = get_blog_details($blogid);
因此,请获取家长博客的链接:

echo \'<a href="\' . get_home_url( $blogid ) . \'" 
target="_blank">\'.$blog_details->blogname.\'</a>\';

SO网友:Pat J

而不是get_site_url(), 使用get_home_url(). 这将返回您所在站点的URL。

您还可以通过传递多站点网络中其他站点的blog_id (即,$url = get_home_url( 2 );).

(我怀疑get_site_url() 是多站点早期的遗留物;当Multisite最初移动到WordPress中时,您创建了site 属于blogs. 术语已经演变,因此我们现在想到network 属于sites, 但有些函数仍然反映了旧术语。)

结束

相关推荐

WordPress MultiSite Theme

我有多个网站。(3个网站)所以我想在其中一个网站上应用不同的主题。但当我激活主题时。所有站点都受到影响。这就是多站点的工作方式吗??有人能澄清一下多站点可以做什么吗?安装多站点(子目录)修改了wp配置。php和。htaccessdefine( \'WP_ALLOW_MULTISITE\', true ); define(\'MULTISITE\', true); define(\'SUBDOMAIN_INSTALL\', false); define(\'DOMAIN_CURREN