大家好!我用“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()
显然是向[网络]显示的,因为它属于这个特定的主页。
对不起,这是我的第一个问题,之前我在互联网上找到了关于这个主题的所有信息,但关于这个,我在任何地方都找不到任何信息。
最合适的回答,由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>\';