博客

WordPress 函数:count_user_posts 获取用户文章数

count_user_posts 是一个用来获取用户文章数量的 WordPress 函数,具体代码如下:

function count_user_posts( $userid, $post_type = 'post' ) {
 global $wpdb;
 
 $where = get_posts_by_author_sql( $post_type, true, $userid );
 
 $count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->posts $where" );
 
 /**
 * Filter the number of posts a user has written.
 *
 * @since 2.7.0
 * @since 4.1.0 Added `$post_type` argument.
 *
 * @param int $count The user's post count.
 * @param int $userid User ID.
 * @param string $post_type Post type to count the number of posts for.
 */
 return apply_filters( 'get_usernumposts', $count, $userid, $post_type );
}

阅读全文

标准
博客

WordPress 教程:禁止多个人同时登录一个账号

对于开放注册的 WordPress 站点来说,尤其是有会员购买服务的站点,可能需要禁止用户共享账号,也就是要禁止多个人同时登录一个账号。

将下面的代码到主题的 functions.php 中即可:

/**
 * Detect if the current user has concurrent sessions
 *
 * @return bool
 */
function pcl_user_has_concurrent_sessions() {
 return ( is_user_logged_in() && count( wp_get_all_sessions() ) > 1 );
}
 
/**
 * Get the user's current session array
 *
 * @return array
 */
function pcl_get_current_session() {
 $sessions = WP_Session_Tokens::get_instance( get_current_user_id() );
 
 return $sessions->get( wp_get_session_token() );
}
 
/**
 * Only allow one session per user
 *
 * If the current user's session has been taken over by a newer
 * session then we will destroy their session automattically and
 * they will have to login again to continue.
 *
 * @action init
 *
 * @return void
 */
function pcl_disallow_account_sharing() {
 if ( ! pcl_user_has_concurrent_sessions() ) {
 return;
 }
 
 $newest = max( wp_list_pluck( wp_get_all_sessions(), 'login' ) );
 $session = pcl_get_current_session();
 
 if ( $session['login'] === $newest ) {
 wp_destroy_other_sessions();
 } else {
 wp_destroy_current_session();
 }
}
add_action( 'init', 'pcl_disallow_account_sharing' );

直接下载插件 Prevent Concurrent Logins,安装启用可以实现同样的功能。

[ via ]

标准
博客

WordPress 插件:WordPress SEO by Yoast 极度流行的SEO插件

SEO 一直是各位站长们想做好的地方,说简单也简单,但是说难也难,因为需要注意的地方太多,一个不小心被百度K了你都不知道怎么回事。所以这里和大家推荐一下这款名叫 WordPress SEO by Yoast 的SEO优化插件。

WordPress平台上扩展插件极多,也不乏许多优秀的SEO插件,这里我向大家推荐这款名叫 WordPress SEO by Yoast 的 SEO 插件。WordPress SEO by Yoast 插件不论在大体的呈现上还是细节的优化把握都非常好,是不可多得的好插件,相比 All in one seo pack 做的更加优秀。

无论使用哪一款优化插件,都请记住一点:内容与用户体验永远为王!

WordPress SEO by Yoast 插件在安装启用后会弹出类似向导一样的对话框,直接关闭即可,因为这个向导主要是针对国外用户,国内用户看我这里就好。

官方下载地址:https://wordpress.org/plugins/wordpress-seo/

 

第一步:常规设置

在这一栏的设置内分别有:常规、跟踪、安全以及网站管理员工具,这里前三项保持默认即可,如果你有开通以下几个搜索引擎的网站管理员工具那就用上。

wordpress-seo-1

阅读全文

标准
博客

WordPress 4.1 中新增的主题函数

WordPress 4.1 正式发布了,新增了不少非常实用的主题函数。以下是各函数介绍:

 

add_theme_support( 'title-tag' )

在 WordPress 4.1 开始新增了一个名为 title-tag 的主题特性。 通过声明这个特性,主题就能知道自身并没有定义标题,WordPress 就可以安全的添加标题而无须担心会导致重复添加。

function theme_slug_setup() {
 add_theme_support( 'title-tag' );
 }
 add_action( 'after_setup_theme', 'theme_slug_setup' );

 

the_archive_title() / get_the_archive_title()

WordPress 的归档种类有 N 多种,日期、分类、标签、文章形式等…… 而这个不起眼的函数却可以帮你节省不少归档模板上的逻辑处理。

the_archive_title( '<h1 class="page-title">', '</h1>' );

阅读全文

标准

继续浏览