我有一个WordPress多站点网络,其中bbPress在单个站点中处于活动状态,但是我希望在整个站点范围内都链接到bbPress论坛,以便无论用户处于活动状态,无论何时单击“论坛”链接,它们将被重定向到特定站点及其特定论坛。
在我的情况下,bbPress在博客2
中处于活动状态,而在博客1
中未处于活动状态。如果我按如下所示放置锚标签:
<!-- Suppose 50 is my forum ID in blog #2 -->
<a href="<?php echo bbp_get_forum_permalink(50); ?>">Forum</a>
它将不起作用,并且将在博客#1中显示致命错误,因为此处不存在bbPress函数。
所以我做了如下的事情:
<?php
function wpse_get_our_forum_link() {
global $switched;
switch_to_blog( 2 );
if( ! function_exists('bbpress') ) {
require_once( ABSPATH .'wp-content/plugins/bbpress/bbpress.php' );
}
if( ! function_exists('bbp_get_forum_permalink') ) {
require_once( ABSPATH .'wp-content/plugins/bbpress/includes/forums/template.php' );
}
$forum_link = bbp_get_forum_permalink(50);
restore_current_blog();
return $forum_link;
}
但是它不起作用。在博客2中,它给出了正确的URL,但是在博客1中,它给出了默认的WordPress帖子永久链接。
我只是不想在这种方法中放入硬编码的URL。
有没有办法实现这一目标?
PS:我在两个博客中都使用了永久链接。