wordpress插件Wpjam Basic删除后台“WP问题”的方法

我爱水煮鱼开发的WPJAM BASIC插件在安装启用后,在Wordpress后台的左侧会多一个“WP问题”的社区问答链接,用户可以通过这个链接进去提问和寻找问题。如果想删除后台这个“WP问题”,可以按这篇文章的方法操作。

WPJAM BASIC是我爱水煮鱼开发的一款Wordpress插件,在中文wordpress里知名度很高,几乎凡是介绍Wordpress插件的文章或网站就会推荐WPJAM BASIC这个插件。因为它的功能实在是太强大、太实用了,WPJAM BASIC插件包含SMTP、百度站长、数据库优化、性能优化、用户角色、文章目录、七牛镜像、简单SEO等实用性很强的功能。可以说,用了WPJAM BASIC可以少装不少插件。

不过WPJAM BASIC有一个比较烦的地方,在安装启用后,会在Wordpress后台左侧生成一个“WP问题”的链接。“WP问题”是作者提供的一个简单的Wordpress相关的问答社区,任何有Wordpress或技术问题都可以直接点击这个链接提问(有没有人回答就另外一回事了)。

虽然这个设定的初衷是好的,可以让所有Wordpress的用户第一时间提问,但是据我使用WPJAM BASIC插件这么长时间来看,这个功能基本上用不到,不但从来没有在上面提过问,而且我也从来没有点进去查找过相关问题。除了最开始看到这个“WP问题”时好奇是什么点进去过,以及后来使用Wordpress的时候不小心点到过,我从来就没有点进过这个链接。

这个“WP问题”默认是无法删除和去掉的,而且有人在“WP问题”里提了相关的问题,问怎么才能删掉这个“WP问题”,WPJAM BASIC的开发者Denis也是直接回复说“请不要使用WPJAM的任何插件”或“请卸载WPJAM所有插件”之类。

但这个“WP问题”在左侧多占一个位置,且根本又用不到,所以我还是很希望删掉。看了一下插件的代码,删掉还是很简单的。

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问题”这个按钮添加到后台左侧导航的意思,只要将该函数删除即不会在左侧添加按钮了,也不影响插件的其他正常运行。为了插件的安全起见,我没有直接删除代码,而是选择注释。注释后的效果如下图所示:

图片[1]-wordpress插件Wpjam Basic删除后台“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();
  });
});

 

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

温馨提示:本文最后更新于2020-03-05 20:56:27,某些文章具有时效性,若有错误或已失效,请在下方留言或联系站长
------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容