自由屋推书网—热门的小说推荐平台!

你的位置: 首页 > wordpress分享

WPJAM BASIC插件报错提示:if($unread_count = $wpjam_topic_messages[‘unread_count’]

2021-12-17 14:54:38

今天登陆后台检查网站的时候,突然发现了WPJAM BASIC插件的一处报错“if($unread_count = $wpjam_topic_messages[‘unread_count’]){”,刚开始以为是WPJAM BASIC插件和其他插件冲突引起的问题,但是通过再次的设置并没有得到有效的解决,网上搜了一下,看到论坛上也有遇到相同的问题,简单记录一下WPJAM BASIC插件报错提示:if($unread_count = $wpjam_topic_messages[‘unread_count’]的解决方法。

1、找到插件的”wpjam-basic/include/topic.php“文件,找到如下代码(大概在第83行到112行):

add_filter('wpjam_pages', 'wpjam_topic_admin_pages');
add_filter('wpjam_network_pages', 'wpjam_topic_admin_pages');
function wpjam_topic_admin_pages($wpjam_pages){
	$subs = array();
	$menu_title = 'WP问题';

	if(wpjam_topic_get_weixin_user()){

		$wpjam_topic_messages = wpjam_get_topic_messages();
		if($unread_count	= $wpjam_topic_messages['unread_count']){
			$menu_title .= '<span class="update-plugins count-'.$unread_count.'"><span class="plugin-count">'.$unread_count.'</span></span>';
		}

		$subs['wpjam-topics']			= array('menu_title'=> '所有问答',	'function'=>'wpjam_topics_page',	'capability' => 'read');
		$subs['wpjam-topic']			= array('menu_title'=> '我要提问',	'function'=>'wpjam_topic_edit_page','capability' => 'read');
		$subs['wpjam-topic-user']		= array('menu_title'=> '个人资料',	'function'=>'wpjam_topic_user_page','capability' => 'read');
		if(isset($_GET['page']) && ($_GET['page'] == 'wpjam-topic-messages')){
			$subs['wpjam-topic-messages']	= array('menu_title'=> '消息提醒',	'function'=>'wpjam_topic_messages_page','capability' => 'read');
		}
	}

	$wpjam_pages['wpjam-topics']	= array(
		'menu_title'	=> $menu_title,		
		'icon'			=> 'dashicons-wordpress',
		'subs'			=> $subs,
		'capability'	=> 'read'
	);

	return $wpjam_pages;
}

2、将上面的所有代码注释掉或删除掉即可,上面的代码应该是将“WP问题”这个按钮添加到后台左侧导航的意思,只要将该函数删除即不会在左侧添加按钮了,也不影响插件的其他正常运行。为了插件的安全起见,我没有直接删除代码,而是选择注释。注释后的效果如下图所示:

我看到其他的Wordpress相关的论坛里,有人担心这个“WP问题”会不安全、会窃取自己网站数据的,这个可以完全放心的,作者没必要怎么干。一来WPJAM BASIC是提交到了wordpress插件官方的,如果有这些不安全的因素Wordpress也不会通过,而且七牛云的官方插件推荐里,也有WPJAM BASIC;二来看插件的代码就知道,这个“WP问题”只是通过API的方式调用作者服务器的数据而已。所以,如果是基于这种安全考虑的,就太小看我爱水煮鱼了。

另外,如果启用了WPJAM BASIC插件里面的“文章目录”功能,而刚好网站又设置了全站链接都是新窗口打开的话,那么将会导致点击文章目录的链接时也是新窗口打开,这样不利于用户体验也看着很别扭。解决办法是,在“文章目录”的设置项里,找到“JavaScript 代码”,在第二行添加如下代码:

jQuery("#toc a").attr("target","_self"); //设置不在新窗口打开。

修改后的完整代码如下:

jQuery(document).ready(function(){
        jQuery("#toc a").attr("target","_self"); //设置不在新窗口打开。
	jQuery('#toc span').on('click',function(){
	    if(jQuery('#toc span').html() == '[显示]'){
	        jQuery('#toc span').html('[隐藏]');
	    }else{
	        jQuery('#toc span').html('[显示]');
	    }
	    jQuery('#toc ul').toggle();
	    jQuery('#toc small').toggle();
	});
});

这样,就算你的网站设置了全站所有链接都是新窗口打开的,点击文章目录的时候也不会采用新窗口。

编辑推荐

热门小说