WordPress教程 Posts

不利用插件给WordPress添加文章浏览次数统计功能

WordPress文章浏览次数统计功能是必不可少的,不少主题已经集成该功能,如果你的主题没有集成,你可以使用 WP-Postviews 插件,或者试试本文的代码。

WordPress非插件实现文章浏览次数统计的方法,是DH参考willin kan大师的my_visitor插件来写的,刷新一次文章页面就统计一次,比较简单实用。

非插件统计文章浏览次数

1.在主题的 functions.php文件的最后一个 ?> 前面添加下面的代码:

  1. /* 访问计数 */
  2. function record_visitors()
  3. {
  4.     if (is_singular())
  5.     {
  6.       global $post;
  7.       $post_ID = $post->ID;
  8.       if($post_ID)
  9.       {
  10.           $post_views = (int)get_post_meta($post_ID, ‘views’, true);
  11.           if(!update_post_meta($post_ID, ‘views’, ($post_views+1)))
  12.           {
  13.             add_post_meta($post_ID, ‘views’, 1, true);
  14.           }
  15.       }
  16.     }
  17. }
  18. add_action(‘wp_head’, ‘record_visitors’);
  19. /// 函数名称:post_views
  20. /// 函数作用:取得文章的阅读次数
  21. function post_views($before = ‘(点击 ‘, $after = ‘ 次)’, $echo = 1)
  22. {
  23.   global $post;
  24.   $post_ID = $post->ID;
  25.   $views = (int)get_post_meta($post_ID, ‘views’, true);
  26.   if ($echoecho $before, number_format($views), $after;
  27.   else return $views;
  28. }

 

2.在需要显示该统计次数的地方使用下面的代码调用:

  1. 浏览:<?php post_views(‘ ‘, ‘ 次’); ?>

WordPress wp_logout_url登出函数

用法:
<?php echo wp_logout_url( $redirect ); ?>

参数:
redirect
(string) (可选) 当登出的时候转到的URL
默认无

示例:
默认跳转页:
<a href=”<?php echo wp_logout_url(); ?>” title=”Logout”>Logout</a>

跳转到当前页:
<a href=”<?php echo wp_logout_url( get_permalink() ); ?>” title=”Logout”>Logout</a>

跳转到首页:
<a href=”<?php echo wp_logout_url( home_url() ); ?>” title=”Logout”>Logout</a>

————————————–
一些常用wordpress判断函数:
————————————–
is_single()
When any single Post page is being displayed. 判断是否是具体文章的页面
is_single(’17′)
When Post 17 is being displayed as a single Post. 判断是否是具体文章(id=17)的页面
is_single(’Beef Stew’)
When the Post with Title “Beef Stew” is being displayed as a single Post. 判断是否是具体文章(标题判断)的页面
is_single(’beef-stew’)
When the Post with Post Slug “beef-stew” is being displayed as a single Post. 判断是否是具体文章(slug判断)的页面

comments_open()
When comments are allowed for the current Post being processed in the WordPress Loop. 是否留言开启
pings_open()
When pings are allowed for the current Post being processed in the WordPress Loop. 是否开启ping

is_page()
When any Page is being displayed. 是否是页面
is_page(’42′)
When Page 42 is being displayed. 同single,id判断,即是否是id为42的页面
is_page(’About Me’)
When the Page with Title “About Me” is being displayed. title判断
is_page(’about-me’)
When the Page with Page Slug “about-me” is being displayed. slug判断

is_category()
When any Category archive page is being displayed. 是否是分类
is_category(’6′)
When the archive page for Category 6 is being displayed. 同single,id判断,即是否是id为6的分类
is_category(’Cheeses’)
When the archive page for the Category with Name “Cheeses” is being displayed. title判断
is_category(’cheeses’)
When the archive page for the Category with Category Slug “cheeses” is being displayed. slug判断
in_category(’5′)
Returns true if the current post is in the specified category id. read more (http://codex.wordpress.org/Template_Tags/in_category) 判断当前的文章是否属于分类5

is_author()
When any Author page is being displayed. 将所有的作者的页面显示出来
is_author(’1337′)
When the archive page for Author number 1337 is being displayed. 显示author number为1337的页面
is_author(’Elite Hacker’)
When the archive page for the Author with Nickname “Elite Hacker” is being displayed. 通过昵称来显示当前作者的页面
is_author(’elite-hacker’)
When the archive page for the Author with Nicename “elite-hacker” is being displayed.

下面是通过不同的判断实现以年、月、日、时间等方式来显示归档
is_date()
When any date-based archive page is being displayed (i.e. a monthly, yearly, daily or time-based archive).
is_year()
When a yearly archive is being displayed.
is_month()
When a monthly archive is being displayed.
is_day()
When a daily archive is being displayed.
is_time()
When an hourly, “minutely”, or “secondly” archive is being displayed.

判断当前是否是归档页面
is_archive()
When any type of Archive page is being displayed. Category, Author and Date based pages are all types of Archives.

判断是否是搜索
is_search()
When a search result page archive is being displayed.

判断页面是否404
is_404()
When a page displays after an “HTTP 404: Not Found” error occurs.

判断是否翻页,比如你当前的blog是http://domain.com 显示http://domain.com?paged=2的时候,这个判断将返回真,通过这个函数可以配合is_home来控制某些只能在首页显示的界面,
例如:if(is_home() && !is_paged() )
is_paged()
When the page being displayed is “paged”. This refers to an archive or the main page being split up over several pages. This does not refer to a Post or Page whose content has been divided into pages using the QuickTag.

is_attachment()
When an attachment document to a post or Page is being displayed. An attachment is an image or other file uploaded through the post editor’s upload utility. Attachments can be displayed on their own ‘page’ or template. For more information, see Using Image and File Attachments.

is_feed()
When the site requested is a Syndication. This tag is not typically used by users; it is used internally by WordPress and is available for Plugin Developers.

is_trackback()
When the site requested is WordPress’ hook into its Trackback engine. This tag is not typically used by users; it is used internally by WordPress and is available for Plugin Developers.

is_user_logged_in()
判断是否登录

解决WordPress 时区设置问题,相差8个小时

首先进入到wordpress后台,设置(Settings)->时区设置(Timezone)改成上海(Shanghai),然后保存下。当然如何这样不行,你还可以试下以下的三种方法:

 

1、如果你是VPS的话,可以修改PHP.ini文件。date.timezone = “Asia/Shanghai”

 

2、在/wp-includes/functions.php中加入:date_default_timezone_set(‘Asia/Shanghai’);

 

3、在 wp-config.php中加入:date_default_timezone_set(‘Asia/Shanghai’);

 

 

功能强大的wordpress自定义登录注册插件

wordpress自带的注册、登录功能比较简陋,不大符合中国人的习惯,而且邮件接收密码是一个问题,因为密码邮件容易被屏蔽。

DX Login Register插件的发布正是为了解决这些问题,主要功能如下:

1、自定义登录注册页面的logo图片、大小、链接。

2、自定义登录注册的提示信息。

3、限制用户名的最小长度,设定禁用词。

4、用户自定义密码,限制密码最小长度,密码强度评估提示。

5、登录注册页面加入验证码,默认2分钟失效,加强安全,防止恶意注册登录。

6、注册成功后自动登录,并且重定向到指定页面或当前页面。

7、登录等功后重定向到指定页面或当前页面。

详细介绍请见截图:

 

下载地址:  百度网盘

 

关于 WordPress 的一些学习方法

首先, wordpress 是国外的一款开源 CMS 。

它有些强大,强大到我都不知该如何去描述它。它几乎能完成你所想到的所有类型的网站。这一点也不夸张,我们团队曾用它完成了一单6位数的项目。

它有些强大,强大到我们都不知该如何去接近它,熟悉它,学习并应用它。我也曾挑灯夜战,秉灯夜烛。终,小有成就。
下边,我来总结一下我学习 WordPress 的方法,希望对你们能有所帮助,哪怕是一点点的引导,也是极好的。

WordPress 是国外的 CMS , 有关于它的网站几乎都在国外 , 我列出几个我常去的网站。

官方网站:https://wordpress.org
这里边有关于 WordPress 最新信息,最新版本的程序也是在这上边首发的。

官方文档:https://codex.wordpress.org/Main_Page
这里边有关于 WordPress 最新、最准确、最完整,原汁原味的说明。在这之前,这个文档是有中文版本的,但不止为什么,最近好像被取消了。

不过我还是建议看英文原本,因为它最准确。

官方代码参考:https://developer.wordpress.org/reference/
这里边有 WordPress 的函数示例、说明,很详细。

就拿我们最常用的 add_action 函数来说,它的说明就很详细。它的地址是:https://developer.wordpress.org/reference/functions/add_action/
这里边详细的说明了 add_action 这个函数接受哪些参数,参数的类型是什么,返回的值是什么,它的源码再哪个文件、第几行。在里边都有详细的说明。

如果你想深入的学习 WordPress 的话,建议你多看这个网站,之后你会发现一些奇妙的东西。

官方论坛:https://wordpress.org/support/
论坛里从程序安装到插件开发,从主题模版到各种排错都有非常详尽的分区。并且,这个论坛非常活跃。

PHP官方网站:php.net

WordPress 是基于 PHP 语言来开发的,有较好的 PHP 基础才能看懂 WordPress 的代码,否则无异于看天书。