<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel rdf:about="https://www.ishiguang.cn/feed/rss/tag/Wordpress/">
<title>拾光 - Wordpress</title>
<link>https://www.ishiguang.cn/tag/Wordpress/</link>
<description></description>
<items>
<rdf:Seq>
<rdf:li resource="https://www.ishiguang.cn/15394.html"/>
<rdf:li resource="https://www.ishiguang.cn/15386.html"/>
<rdf:li resource="https://www.ishiguang.cn/15349.html"/>
<rdf:li resource="https://www.ishiguang.cn/15342.html"/>
<rdf:li resource="https://www.ishiguang.cn/15332.html"/>
<rdf:li resource="https://www.ishiguang.cn/15329.html"/>
<rdf:li resource="https://www.ishiguang.cn/15328.html"/>
<rdf:li resource="https://www.ishiguang.cn/15327.html"/>
<rdf:li resource="https://www.ishiguang.cn/15325.html"/>
<rdf:li resource="https://www.ishiguang.cn/15305.html"/>
</rdf:Seq>
</items>
</channel>
<item rdf:about="https://www.ishiguang.cn/15394.html">
<title>利用七牛镜像存储缓存提高Gravatar头像打开速度</title>
<link>https://www.ishiguang.cn/15394.html</link>
<dc:date>2022-02-26T17:19:41+08:00</dc:date>
<description>我们在WordPress系统默认采用的是Gravatar头像，但是有些时候各种线路问题导致默认的路径打开比较慢，这样会延迟网站的打开速度。于是我们需要想办法来解决这个问题，有的网友直接将头像本地化，我们其实也可以将Gravatar头像镜像存储缓存到七牛云存储中。 毕竟七牛云存储免费账户每月有10GB流量，用来存储简单的静态文件或者是头像缓存是没有问题的，这篇文章老蒋来记录如何设置Gravatar头像镜像存储到七牛云存储中，然后提高加载速度。 第一、设置七牛镜像源  这里我们先创建一个七牛云存储，然后设置镜像源（https://secure.gravatar.com/）。 第二、添加脚本至WP   //缓存Gravatar头像到七牛云存储 function qiniu_avatar($avatar) {&lt;br&gt; $avatar = preg_replace('/./avatar/(.)?s=([\d]+)&..srcset=./','</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15386.html">
<title>快速给WordPress站点文章自动生成二维码办法</title>
<link>https://www.ishiguang.cn/15386.html</link>
<dc:date>2022-02-26T17:19:36+08:00</dc:date>
<description>老蒋在浏览一些博客的时候看到有些朋友将每一篇文章底部或者特定显眼的位置生成自动二维码，这样如果有需要手机浏览站点的需要，可以直接扫描二维码用手机阅读。这样的二维码功能是如何实现的呢？其实，老蒋在"利用二维码api自动生成网址图片二维码效果"文章中也有提到一些二维码的接口。 同样的，我们可以利用这些接口用到WordPress站点中自动生成二维码的办法。 第一、自动二维码代码   </description>
</item>
<item rdf:about="https://www.ishiguang.cn/15349.html">
<title>常见WordPress友情链接调用参数和应用案例整理</title>
<link>https://www.ishiguang.cn/15349.html</link>
<dc:date>2022-02-26T17:18:28+08:00</dc:date>
<description>如果我们有在使用WordPress程序的时候，正常情况下都内置带有友情链接模块，直接在小工具拖动模块到侧栏就可以调用友情链接。但是，有些我们自定义在某位置需要出现友情链接或者有些主题没有设置，则需要我们自己来设置调用友情链接。关于WordPress友情链接函数我们可以参考wp_list_bookmarks的用法。 不过，对于大部分用户来说，我们只要实现实际的功能就可以，对于如何实现的那就不要管了，这里老蒋整理几个常用的WordPress调用友情链接的方法。 1、随机调用6个友情链接   &lt;?php wp_list_bookmarks('orderby=rand&limit=6'); ?&gt;  2、友情链接去除标签标题   &lt;?php wp_list_bookmarks('title_li=&categorize=0'); ?&gt;  这个我们还是比较常用的，比如我们自已已经设置过标题。 3、调出所有的友情链接   &lt;?php wp_list_bookmarks(); ?&gt;  4、文字链接一行一个且显示描述   &lt;?php wp_list_bookmarks('between=&show_images=0&orderby=id&show_rating=1&show_updated=1'); ?&gt;  这个是我们常用的调用友情链接应用，以备以后需要。</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15342.html">
<title>WordPress后台&quot;header information - headers already sent by&quot;问题</title>
<link>https://www.ishiguang.cn/15342.html</link>
<dc:date>2022-02-26T17:18:22+08:00</dc:date>
<description>WordPress程序的更新频率确实比较快，前几天又升级到4.9.1版本，而且在版本更替过程中会出现一些小兼容问题也是很正常的。今天遇到一个放在某个虚拟主机中的WordPress网站，登录后台的时候有出现提示错误。    header information - headers already sent by ...  Warning: Cannot modify header information - headers already sent by...  这个问题之前有遇到过，应该是cPanel面板中商家升级PHP默认版本导致的。如果进行调整PHP版本可以解决问题。登入cPanel面板，然后找到修改PHP版本的位置。  可以看到默认是5.6版本，这里我调整到5.5版本后错误提示没有。</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15332.html">
<title>无插件实现WordPress自动获取关键字（keywords）、描述（description）</title>
<link>https://www.ishiguang.cn/15332.html</link>
<dc:date>2022-02-26T17:18:15+08:00</dc:date>
<description>如果我们有使用原生态的WordPress程序，在一些用户体验和搜索引擎体验设置是不够理想的，不过如果我们选择一些主题中可能会自带这些功能。比如标题自定义、关键字和描述的设置，我们一般还可以使用插件自动获取。老蒋在之前文章中也有分享过"WordPress无插件实现标题、关键字、描述自定义设置"和"WordPress SEO标题/关键字/描述优化插件 - WP SEO TDK介绍与使用"，可以通过插件是修改代码。 但是，这个有一个问题，比如无插件的那方式是直接在主题头部页面修改的，但是有些头部页面是嵌套在定义脚本中的有些时候还找不到，所以我们还需要一个更为通用的方法。这篇稳重，老蒋要分享的是直接定义在主题functions.php文件中的。基本上适合所有主题。 第一、脚本内容   //自动关键词与描述 function get_cats_name() { $allcats=get_categories();&lt;br&gt; foreach ($allcats as $category)&lt;br&gt; {&lt;br&gt; $keywords[] = $category-&gt;cat_name;&lt;br&gt; }&lt;br&gt; return $keywords; } // utf8 substr function utf8Substr($str, $from, $len) {&lt;br&gt; return preg_replace(&#039;#^(?:[x00-x7F]|[xC0-xFF][x80-xBF]+){0,&#039;.$from.'}'. '((?:[x00-x7F]|xC0-xFF+){0,'.$len.&#039;}).*#s&#039;,&lt;br&gt; &#039;$1',$str);&lt;br&gt; }&lt;br&gt; // Meta SEO&lt;br&gt; function meta_SEO() {&lt;br&gt; global $post; $output = &#039;&#039;;&lt;br&gt; if (is_single()){//如果是文章页&lt;br&gt; $keywords = ''; $description = &#039;&#039;;&lt;br&gt; if ($post-&gt;post_excerpt) {//如果文章摘要存在就以文章摘要为描述 $description = $post-&gt;post_excerpt; $description = str_replace(&quot;rn&quot;,&quot;&quot;,$description); $description = str_replace(&quot;n&quot;,&quot;&quot;,$description); $description = str_replace(&quot;&quot;&quot;,&quot;&#039;&quot;,$description); $description .= &#039;...&#039;;&lt;br&gt; } else {//如果文章摘要不存在就截断文章前200字为描述&lt;br&gt; $description = utf8Substr(strip_tags($post-&gt;post_content),0,200);&lt;br&gt; $description = str_replace("rn","",$description);&lt;br&gt; $description = str_replace("n","",$description);&lt;br&gt; $description = str_replace(""","'",$description);&lt;br&gt; $description .= '...'; } $tags = wp_get_post_tags($post-&gt;ID);//取文章标签 foreach ($tags as $tag ) { $keywordarray[] = $tag-&gt;name; } //以文章标签为关键字 $keywords = implode(&#039;,&#039;,array_unique((array)$keywordarray)); } else {//如果不是文章页 $keywords = &#039;在引号间写入你博客的关键字用,断开&#039;;&lt;br&gt; $description = '在引号间写入你博客的简单描述，不要过200字'; } //输出关键字 $output .= &#039;&lt;meta name=&quot;keywords&quot; content=&quot;&#039; . $keywords . '" /&gt;' . "n"; $output .= &#039;&lt;meta name=&quot;description&quot; content=&quot;&#039; . $description . '" /&gt;' . "n"; //输出描述 echo "$outputn"; } add_action('wp_head', 'meta_SEO');  第二、使用方法 将上面脚本添加到当前WordPress主题中的functions.php文件中即可实现。当然，我们需要将几处信息，包括首页关键字和描述修改，其他页面都是自动的。</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15329.html">
<title>WordPress排除指定文章/分类内容不被站内搜索显示出来</title>
<link>https://www.ishiguang.cn/15329.html</link>
<dc:date>2022-02-26T17:18:13+08:00</dc:date>
<description>WordPress作为当前使用最多的CMS程序，只要我们需要哪些功能，基本上都可以搜索到这类文章解决方案。这也是为什么很多用户喜欢使用WordPress的原因之一。因为有些CMS看似不错，但是很少有技术文档提供解决方案，比如ZBLOG程序老蒋也陆续的不再使用。 今天遇到一个客户企业网站中，需要在搜索内容的时候，只能指定客户公司技术文档，而不会出现其他页面包括的文章和内容在搜索结果中出现。这个问题之前并没有遇到过，于是就搜索解决方案。这里把技术文档整理下来，以便以后有需要用到的时候直接使用。 第一、排除某个分类不被搜索   function wp_search_filter_category( $query) {&lt;br&gt; if ( !$query-&gt;is_admin && $query-&gt;is_search) {&lt;br&gt; $query-&gt;set('cat','-12,-13,-14'); // - 符号表示排除这个分类 } return $query; } add_filter('pre_get_posts','wp_search_filter_category');  这里根据我们需要，可以将排除的分类直接写到上面第三行代码里。 第二、排除指定文章不被显示   function wp_search_filter_id($query) {&lt;br&gt; if ( !$query-&gt;is_admin && $query-&gt;is_search) {&lt;br&gt; $query-&gt;set('post__not_in', array(1,2,3));//输入指定文章ID } return $query; } add_filter('pre_get_posts','wp_search_filter_id');  这里排除指定文章不被显示在搜索结果中。 总结，我们将各自需要的功能把代码和对应ID编辑后添加到当前主题functions.php文件中生效。</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15328.html">
<title>调用WordPress最新编辑/修改文章列表方法</title>
<link>https://www.ishiguang.cn/15328.html</link>
<dc:date>2022-02-26T17:18:12+08:00</dc:date>
<description>我们在调整WordPress程序调用文章的时候，可能会有见过调用最新文章、热门文章，以及多少天热度文章的列表。但是，如果有一些文章是我们早期更新的，近期如果有变动重新编辑过的，这类的文章也是有需要重弄新作为编辑文章调用出来，这样可以告知用户这篇文章已经更新。 第一、调用脚本   // 最近修改和编辑的文章 function recently_updated_posts($num=10,$days=7) { if( !$recently_updated_posts = get_option(&#039;recently_updated_posts&#039;) ) {&lt;br&gt; query_posts(&#039;post_status=publish&amp;orderby=modified&amp;posts_per_page=-1&#039;);&lt;br&gt; $i=0; while ( have_posts() && $i&lt;$num ) : the_post(); if (current_time('timestamp') - get_the_time('U') &gt; 606024*$days) {&lt;br&gt; $i++; $the_title_value=get_the_title();&lt;br&gt; $recently_updated_posts.='' .$the_title_value.&#039;&lt;/a&gt;&lt;/li&gt;&#039;;&lt;br&gt; }&lt;br&gt; endwhile;&lt;br&gt; wp_reset_query();&lt;br&gt; if ( !empty($recently_updated_posts) ) update_option('recently_updated_posts', $recently_updated_posts);&lt;br&gt; }&lt;br&gt; $recently_updated_posts=($recently_updated_posts == &#039;&#039;) ? &#039;&lt;li&gt;请拭目以待.&lt;/li&gt;&#039; : $recently_updated_posts; echo $recently_updated_posts; } function clear_cache_zww() { update_option('recently_updated_posts', ''); } add_action('save_post', 'clear_cache_zww');  将代码放到当前主题的Functions.php文件中。 第二、调用模块   &lt;?php if ( function_exists('recently_updated_posts') ) recently_updated_posts(8,30); ?&gt;  数字8表示调用八篇，30表示30天内修改编辑过的。数字可以根据实际调整。</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15327.html">
<title>禁止WordPress后台编辑主题和插件操作 确保安全</title>
<link>https://www.ishiguang.cn/15327.html</link>
<dc:date>2022-02-26T17:18:11+08:00</dc:date>
<description>如果我们有安装且使用过WordPress程序，肯定知道在正常情况下可以在后台进行编辑修改主题，以及插件的安装和卸载操作。但是，这样即便是比较方便，但是也有时候存在一些安全问题。比如我们在操作后台用户权限的时候，我们可能会对一些用户角色设置管理员权限，但是担心可能对主题和插件的处理误操作。 于是，我们可以直接在代码中禁止任何人后台操作主题和插件的编辑，这样可以确保后台处理模板文件的安全。这个我们最近还是有一些遇到的。比如给企业客户做的网站是WordPress，我们需要给客户自己管理员权限编辑文章等，但是有的客户乱点击插件和主题，导致问题。   define('DISALLOW_FILE_MODS',true);  在我们当前WP网站根目录wp-config.php文件中添加一行。然后我们再去后台看看。  即便是管理员也没有权限看到编辑主题的位置。</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15325.html">
<title>获取WordPress访客评论/留言的真实IP地址</title>
<link>https://www.ishiguang.cn/15325.html</link>
<dc:date>2022-02-26T17:18:07+08:00</dc:date>
<description>WordPress程序应该是我们使用较多的网站CMS，个人博客、企业网站，以及文章系统都可以使用。但是其有个比较大的问题容易被各种群发软件发送评论内容。虽然我们可以通过一些插件实现防护，但是如果是人为的进行评论也比较烦心，因为老蒋还是见到不少的网友比较有耐心，通过人工发送评论的方式。 遇到这样的办法，我们一来可以采用全部后台审核的方式才可以显示，二来我们可以屏蔽这些用户的IP地址禁止这些用户访问。不过，如果我们WordPress网站有使用CDN，从评论处获取到的IP地址非真实IP地址，所以我们需要解决这个问题。 第一、脚本功能   if(isset($_SERVER[&#039;HTTP_X_FORWARDED_FOR&#039;]))&lt;br&gt; {&lt;br&gt; $list = explode(',',$_SERVER[&#039;HTTP_X_FORWARDED_FOR&#039;]);&lt;br&gt; $_SERVER['REMOTE_ADDR'] = $list[0]; }  第二、使用方法 我们可以将这个脚本放到当前WP程序根目录wp-config.php顶部位置。  然后保存之后替换当前文件。这个时候我们再去测试可以从评论处看到是真实IP地址。</description>
</item>
<item rdf:about="https://www.ishiguang.cn/15305.html">
<title>WordPress 4.8正式版发布</title>
<link>https://www.ishiguang.cn/15305.html</link>
<dc:date>2022-02-26T17:17:44+08:00</dc:date>
<description>根据之前的约定，WordPress 4.8将于6.8日正式发布，今天早上看到果然发布出来（时差问题），这次更新算是2017年第一个主版本更新，且是由WP创始人Matt负责开发，目前中文版本没有出来，不过不要紧如果需要升级的直接下载英文版本更新，不影响后台的中文语言包。 这次WordPress 4.8版本命名为Evans，更新部分包括链接改进，图像、音频和视频的三个新媒体小部件，支持可视化编辑的更新小部件。如果有需要更新的就去官方下载升级。</description>
</item>
</rdf:RDF>