Category Archives: Wordpress

Wordpress学习!

WordPress如何让用户默认不显示WPAdminBar工具栏

WordPress的WPAdminBar是很不错的功能,不过有的时候容易造成主页变形,有的时候我们也不喜欢这个东西显示出来,所以需要对这个栏目进行调整,今天研究了一下,找到了几个方法. 如下图,用户注册成功后,在浏览站点时显示工具栏 这个选项默认处于勾选状态,我们让它默认处于不勾选状态即可。 在当前主题目录下的functions.php中加入以下php代码,即可实现上面的需求: add_action(“user_register”, “set_user_admin_bar_false_by_default”, 10, 1); function set_user_admin_bar_false_by_default($user_id) { update_user_meta( $user_id, ‘show_admin_bar_front’, ‘false’ ); update_user_meta( $user_id, ‘show_admin_bar_admin’, ‘false’ ); } ==========================附加资料========== wordpress为了方便管理员快速的从前台进入后台来管理网站在wordpress顶部强制加入了一个工具条(admin bar),而且默认是对所有用户都显示的,有时候看着挺烦心。那么怎么来去除这个烦人的工具条(admin bar)呢?下面小V上代码。   一、完全禁用工具条:   1、完全去除wordpress工具条(代码一) show_admin_bar(false); 2、完全去除wordpress工具条(代码二) add_filter(‘show_admin_bar’, ‘__return_false’); 2、只对特定用户显示工具条 只对管理员显示 if (!current_user_can(‘manage_options’)) { add_filter(‘show_admin_bar’, ‘__return_false’); } 只对管理员和编辑显示 if(!current_user_can(‘edit_posts’)) { add_filter(‘show_admin_bar’, ‘__return_false’); } 3、将工具条从顶部移至页脚 functionfb_move_admin_bar() { echo’ <style type=”text/css”> body { margin-top: -28px; padding-bottom: 28px; } body.admin-bar #wphead { padding-top: 0; } body.admin-bar #footer { padding-bottom:… Read More »

WordPress 在文章内容中间插入广告

使用 Insert Post Ads 插件 Insert Post Ads 是一个非常简单易用的插件,可以在文章和页面中的不同段落插入多个不同广告,你需要做的只是在后台新建广告,然后选择插入的段落位置即可。 在后台插件安装界面搜索 Insert Post Ads 即可在线安装,或者到 WordPress官方插件库下载。倡萌已将该插件汉化(部分词条无法应用语言包),下载简体中文包,解压后上传到该插件的 languages 目录即可。 纯代码实现 如果你只想添加简单的广告代码,不想用插件,那你可以将下面的代码添加到当前主题的 functions.php 即可: 注意按照下面的注释修改广告代码和段落 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /** * WordPress 在文章内容中间插入广告 * https://www.wpdaxue.com/insert-ads-within-post-content-in-wordpress.html */… Read More »

手动升级 WordPress 全过程

WordPress 手动升级步骤: 第一步、备份程序文件和数据库。由于之前我已经备份过了,所以这里我不用再备份。 第二步、手动升级 WordPress 之前最好先登录后台关闭所有插件,当然不关闭影响也不大,不过全部关闭要好点。 第三步、到 WordPress 官方网站下载最新的 WordPress 版本程序。 第四步、解压安装包更新数据。将网站根目录下 wp-admin 和 wp-includes 两个目录中的文件换成最新下载的程序文件,或者将原来的文件删除后再拷贝新文件进去。wp-content文件夹内的内容不用更改,这里面放的是主题文件,插件文件等。 第五步、替换根目录下除wp-config.php文件以外的文件。(wp-config.php文件是wp配置文件,包括数据库连接设置等) 第六步、运行https://你的博客地址/wp-admin/upgrade.php,将你的博客地址填入路径中执行升级程序。

OIOpublisher插件提示“Please enter a valid Website URL”!

前段时间在我的另外一个wp网站上安装了一个OIOpublisher插件,在购买广告位的时候,无论怎么填写都提示:“Please enter a valid Website URL”! 首先可以确认网站URL肯定是正确的,总是出现这个故障,到oio-pub官方也没找到解决办法,让朋友AJ 给分析了一下代码,发现oio-pub插件有验证网站URL有效性的功能, functions.php 文件中找到 oiopub_validate_url, 分析其需要PHP的Fsocket函数功能,默认禁用,SSH登陆VPS,删除PHP禁用的 Fsocket fsockopen两个函数后,问题解决。  

3种关闭WordPress对自己Pingback的办法

Pingback 的作用是什么? 移步到维基百科看解释吧, https://zh.wikipedia.org/wiki/Pingback。 关闭 WordPress Pingback 站内文章的办法有: 1. 安装 no-self-ping 插件,把它上传到 wordpress 的 plugin 目录,再到后台把它激活。 2. 在 WordPress 主题的 functions.php 中添加如下代码: [有两种方式找到functions.php ,第一种是在文件目录中找,路径是根目录/wp-content/themes/模板/function.php。第二种是直接在后台改,路径是后台>外观>编辑>function.php。] function no_self_ping( &$links ) { $home = get_option( ‘home’ ); foreach ( $links as $l => $link ) if ( 0 === strpos( $link, $home ) ) unset($links[$l]); } add_action( ‘pre_ping’, ‘no_self_ping’ ); 这其实也就是 No-self-ping 插件的代码, 只不过移植到主题内部去而已, 对于不想多装几个插件的可以使用。 这种方式是最简单,并且最不会影响到网站负载的方式。注意这个方法用了以后,请删除已经存在的那几个链接(就是你加内链时候自动生成的评论),这样网站的文章页面看起来就整洁多了 3.… Read More »

无插件禁止wordpress垃圾评论终极秘技

wordpress垃圾评论现在是越来越横行了,特别是当你的网站有了点流量,垃圾评论简直是防不胜防,就是使用Akismet(wordpress防垃圾评论插件)或者kan willin大师出品的小强也还是有漏网之鱼。其实垃圾评论群发软件一般是通过请求wordpress根目录的wp-comments-post.php来发垃圾评论。(手工垃圾评论这里暂时不讨论,毕竟人工的变数比较大,确实不好招架),那我们让垃圾评论群发软件找不到入口,那不是发不了垃圾评论么?具体做法: 1、找到wordpress网站根目录下的wp-comments-post.php并将其重命名(任意名称)。 2、找到现用主题下comments.php文件中修改action=”/wp-comments-post.php” method=”post” id=commentform”> 代码中 wp-comments-post.php为之前重命名的名称即可。 上述方法只是针对采用wordpress默认评论文件的方法,不过现在很多wordpress网站采用的是kan willin大师出品的ajax评论方式。不过大师的作品依然提供解决方案: 机器spam 基本都是从根目录的wp-comments-post.php 注入 (但最近发现也有从主题comments-ajax.php 注入) 对策: 让他找不到地方注入. 最好能用Ajax comments 将评论目标转移到另个文件. 如果你用的是我的Ajax comments, 可以将comments-ajax.php 更名为my-comments.php, 然后在js 头部的 ajax_php_url = js_url.replace(‘-ajax.js’,’-ajax.php’), 也改成 ajax_php_url = js_url.replace(‘comments-ajax.js’,’my-comments.php’), 上面的my-comments.php 只是举例, 你也可以改成abc.php 或xyz.php 反正你看得懂就行. 用了ajax 之后, wp-comments-post.php 就没用了, 你可删掉它. 或是有用到my-visitors 插件的, 可用插件所附的wp-comments-post.php 替换它, 可记录spam 的一些资料. 此方法主要是利用修改wordpress默认评论文件的路径,让那些群发软件找不着路,自然也就没办法spam

去掉WordPress网址中category的方法

WordPress去掉固定链接里的“category”的办法很多,这里介绍三个简单易用的,起个抛砖引玉的作用。一是在Wordpress后台固定链接里设置;二是通过修改Wordpress核心函数实现;三是通过Wordpress插件实现。 一、修改固定链接设置,去掉分类链接前缀category 登录你的Wordpress后台,打开固定链接/永久链接设置项。在“可选设置”里的“分类地址前缀”里输入半角字符: “.”;保存即可去掉分类前缀category。 优点:设置简单,老少皆宜。适用于初建成的博客,或刚打算使用固定链接 /永久链接的博客。用不着修改代码,升级之时没有顾虑;用不着插件,不会增加运行负担。 缺点:原链接无法打开,出现404错误。被搜索引擎收录良好,或分类链接有较多外链链入的博客,可要万分小心了。不要因为操作简单、省时省力而损失了大量外链及权重。 开启重写后,这样设置会导致分类和标签下找不到对应文章,所以最好还是只将其缩短。 二、借助Wordpress插件,去掉分类前缀category 1、WP No Category Base:作者iDope,是为去除固定链接中分类链接里的category而开发出来的一款wordpress插件,被下载近5万次。安装启用此插件后,对原来的分类地址做了301跳转,对SEO优化有好处,把降权风险降到最低。 下载地址:WordPress官方下载;作者iDope博客下载 2、No category parents:作者milardovich,上面插件的升级版,不仅能去掉分类链接的前缀category,还能去掉父分类 parent-category。例如能把“/category/parent-category/my-category/”换成“/my-category/”形式。 下载地址:WordPress官方下载;作者milardovich博客下载 优点:安装简单,老少皆宜。无论是初建成的博客,还是正打算使用固定链接 /永久链接的博客,还是被搜索引擎收录良好的博客。用不着修改代码,升级之时没有顾虑。使用 301跳转,把原链接进行跳转。最大程度防止搜索引擎降权,防止原链接打不开。 不足:插件或许会造成空间负担。这里不说是缺点,就是因为,造成的“空间负担”微乎其微,不应该是缺点。比较在意的就不用,无所谓推荐使用。 三、修改Wordpress函数,去掉分类前缀category 1、找到你Wordpress博客wp-includes文件夹下的category-template.php。 2、打开此文件,搜索(get_category_link()函数里)的以下代码: $catlink = $wp_rewrite->get_category_permastruct(); 在其后,另起一行加入: $catlink = str_replace(‘/category’ , ” , $catlink); 代码作用是,使用字符串替换函数,把获取分类链接函数的分类链接里的/category替换掉。达到去掉分类链接前缀/category的目的。 3、保存上传到服务器即可。 优点:仅加入一段代码,性能影响忽略不计。适用于对代码稍熟悉的博客。 缺点:修改代码,博客升级还要修改。且原地址仍可以访问。或会造成谷歌网站管理员工具里提到的,重复的标题。 引自网络,原作者不详

WordPress 301插件更新网站结构

WordPress更换固定链接非常方便,可以随意更新网站结构,但是这样也带来一个问题,如何才能在更新网站结构的前提下,保持原有的SEO成果呢?只有善良的301能帮助我们! 关于301重定向:https://baike.baidu.com/view/2173220.htm 我相信Wordpress是万能的,果然通过度娘找到了一款301插件:Permalink Redirect,这款插件不需要更改任何代码就能轻松实现301跳转。下载地址:https://scott.yang.id.au/code/permalink-redirect/#toc-download 插件安装也很简单,安装完成后,进入设置中的Permalink Redirect菜单: 输入以前的链接结构Old Permalink Structures:我的是“/%category%/%postname%.html”,然后更新选项,接着去Wordpress自带的永久链接设定新的链接结构就可以了,这样访问到你以前的老链接,插件会自动识别过期的链接并301至所对应的新页面,这样的话你就可以放心的使用新的结构,根本不需要担心以前的外链失效和用户访问不到页面的情况. 设置成功之后,使用URL Redirect Check來检测所设置的301重定向成功,这下就等搜索引擎的蜘蛛爬行之后看返回代码看看效果了.

通用wordpress头部标题优化代码 无插件实现完整版

下面整理了完整的无插件实现标题以及关键字和描述的代码。只需要把下面的代码命名为title.php文件,放到主题模板中。 <?php if ( is_home() ) { ?><title><?php bloginfo(‘name’); ?> | <?php bloginfo(‘description’); ?></title><?php } ?> <?php if ( is_search() ) { ?><title>搜索结果 | <?php bloginfo(‘name’); ?></title><?php } ?> <?php if ( is_single() ) { ?><title><?php echo trim(wp_title(”,0)); ?> | <?php bloginfo(‘name’); ?></title><?php } ?> <?php if ( is_page() ) { ?><title><?php echo trim(wp_title(”,0)); ?>… Read More »

无插件实现禁止某些不必要的功能

wordpress的功能是非常的丰富的,有些时候这些丰富的功能反倒使得我们的网站占用数据库空间和存在一些不安全因素。所以,麦子比较喜欢把必须要的功能都取消掉。取消这些功能是根据自己的需要设置的,如果你认为有用你就留着,如果你认为没用,就取消。这些取消的方式不会损坏我们当前的系统架构,仅仅是在我们的当前模板的functions.php文件中设置。 <?php //禁用l10n.js wp_deregister_script(‘l10n’); //彻底移除管理员工具条(By 荒野无灯) add_filter(‘show_admin_bar’,’__return_false’); //禁用自动保存草稿 wp_deregister_script(‘autosave’); //禁用修改历史记录 remove_action(‘pre_post_update’,’wp_save_post_revision’); //禁止在head泄露wordpress版本号 remove_action(‘wp_head’,’wp_generator’); //移除head中的rel=”EditURI” remove_action(‘wp_head’,’rsd_link’); //移除head中的rel=”wlwmanifest” remove_action(‘wp_head’,’wlwmanifest_link’); //禁止半角符号自动变全角 foreach(array(‘comment_text’,’the_content’,’the_excerpt’,’the_title’) as $xx) remove_filter($xx,’wptexturize’); //禁止自动给文章段落添加<p>标签 remove_filter(‘the_content’,’wpautop’); remove_filter(‘the_excerpt’,’wpautop’); //禁止自动把’Wordpress’之类的变成’WordPress’ remove_filter(‘comment_text’,’capital_P_dangit’,31); remove_filter(‘the_content’,’capital_P_dangit’,11); remove_filter(‘the_title’,’capital_P_dangit’,11); //评论跳转链接添加nofollow function nofollow_compopup_link(){ return’ rel=”nofollow”‘; } add_filter(‘comments_popup_link_attributes’,’nofollow_compopup_link’); /*回复某人链接添加nofollow 这个理应是原生的, 可是在wp某次改版后被改动了, 现在是仅当开启注册回复时才有nofollow,否则需要自己手动了*/ function nofollow_comreply_link($link){ return str_replace(‘<a’,'<a rel=”nofollow”‘,$link); } get_option(‘comment_registration’)|| add_filter(‘comment_reply_link’,’nofollow_comreply_link’); ?> 以上的代码根据我们自身的需要设置,也不要什么都禁止掉。有些还是可以需要的。