利用WordPress代码实现不同的用户级别展示不同的内容

用户级别对于一般个人WordPress博客来说是起不到什么作用的,但是对于WordPres多用户站点来说,却可以应用在很多地方,今天跟大家分享一篇WordPress实现不同用户等级显示不同內容的WordPress教程。

wordpres默认有以下几种用户级别

  • 管理员:Administrator: level 10
  • 编辑:Editor: Level 7
  • 作者:Author: Level 4
  • 投稿者:Contributor: Level 2
  • 订阅者:Subscriber: Level 0
  • 访客: Level 在 0 以下

当然自己也可以添加新的用户等级/用户组。具体教程可以查看下面这篇文章。《如何WordPress站点添加自定义角色,例如VIP会员用户》下面写一个仅管理员可见的案例:

仅管理员可见

<?php global $user_ID; if( $user_ID ) : ?>
<?php if( current_user_can('level_10') ) : ?>
管理员可见的内容
<?php endif; ?>
<?php endif; ?>

按照用户级别显示不同的內容

<?php if (current_user_can('level_10')) : ?>
仅管理员可见的内容
<?php elseif (current_user_can('level_7')) : ?>
仅编辑可见的内容
<?php elseif (current_user_can('level_4')) : ?>
仅作者可见的内容
<?php elseif (current_user_can('level_2')) : ->
仅投稿者可见的内容
<?php elseif (current_user_can('level_0')) : ?>
仅订阅者的内容
<?php else : ?-->
一般访客可见内容
<?php endif; ?-->

WordPress 代码 实现自动发布文章内容推送百度加快收录

在我们以前发布文章就自动推送到百度熊掌号中,不过近期百度已经将移动专区的天级收录功能下线了,改为快速收录功能,连 API 也改了,所以我们以前自动推送给熊掌号的代码已经无效,需要调整其中的 API 接口等内容。今天跟大家分享 WordPress 站点如何用代码实现发布文章即主动推送到百度快速收录中。

将以下代码添加到主题中functions.php文件中

代码

if(!function_exists('Baidu_Submit')){
function Baidu_Submit($post_ID) {
$WEB_TOKEN = 'token值'; //这里换成你的网站的百度主动推送的token值
$WEB_DOMAIN = get_option('home');
//已成功推送的文章不再推送
if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return;
$url = get_permalink($post_ID);
$api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN;
$request = new WP_Http;
$result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') );
$result = json_decode($result['body'],true);
//如果推送成功则在文章新增自定义栏目Baidusubmit,值为1
if (array_key_exists('success',$result)) {
add_post_meta($post_ID, 'Baidusubmit', 1, true);
}
}
add_action('publish_post', 'Baidu_Submit', 0);
}

使用说明

  1. $WEB_TOKEN =‘token值’;这里请换成你的网站的百度主动推送的token值到https://ziyuan.baidu.com上选择你的站点!
  2. 点击连接提交进入后自动提交–主动推送(实时)–推送接口接口调用地址:http://data.zz.baidu.com/urls?site=https://www.aabbj.com&token=xxxxxxxxxx添加完成后,发布文章成功后,如果主动推送成功就在文章自定义栏目里有一个Baidusubmit值为1代表发布成功!

WordPress代码禁止加载谷歌字体,化后台加载速度

介绍

我相信第一次使用WordPress的新人会担心后台加载速度慢,因为前台访问速度非常快,但是后台访问速度却很慢。 首先,您可能会认为我的WordPress版本已经取得了一些成果,也许是服务器的成果。 否则,真正的原因是WordPress默认加载了Google字体(Google字体)。 众所周知,在国际环境下访问Google是不可能的。 由于我具有防火墙来阻止外国网站,因此当您使用Wordpress时,默认情况下会加载Google,因为它无法被墙壁加载,从而导致访问速度降低。

既然在国内无法访问,然后我们又在国内,那么就需要将这个功能禁止,我前一段时间也分享了【wordpress优化】一段代码去掉谷歌字体这个和现在分享的差不多,大家觉得哪个好用就使用哪个就可以了,添加一个禁用谷歌字体代码即可。

  • 将代码添加网站主题的functions.php文件中

代码

function coolwp_remove_open_sans_from_wp_core() {
wp_deregister_style( 'open-sans' );
wp_register_style( 'open-sans', false );
wp_enqueue_style('open-sans','');
}
add_action( 'init', 'coolwp_remove_open_sans_from_wp_core' );

去除wordpress5.1站点健康的仪表盘小工具和菜单、邮件通知方法

WordPress 5.1 新增了站点健康功能,经过几个大版本的更新,目前该功能已经比较完善,可以让你很方便地了解到站点的安全状况,以及有哪些地方需要改进。

总的来说,站点健康功能还是比较有用的,但是可能有些用户并不想显示相关的信息,尤其是在客户的网站后台。今天西瓜君就来分享下移除WordPress站点健康的仪表盘小工具、菜单和邮件通知的方法。

去除站点健康仪表盘

如果你支持简单的想让自己不看到这个“站点健康状态”小工具,可以在仪表盘右上角点击“选项”,取消勾选即可,这个仅仅对你这个用户有效。

如果你想彻底(对所有用户)移除这个小工具,可以使用下面的代码,添加到主题的functions.php 文件即可:

/**
 * 移除站点健康状态小工具
 * https://www.wpdaxue.com/wordpress-remove-site-health.html
 */
function wpkj_remove_dashboard_widget() {
    remove_meta_box( 'dashboard_site_health', 'dashboard', 'normal' );
}
add_action('wp_dashboard_setup', 'wpkj_remove_dashboard_widget' );

去除工具-站点健康 菜单

我们可以在 工具-站点健康 菜单进入到站点健康信息页面,如果你想去掉这个菜单,可以使用下面的代码,同样添加到主题的 functions.php 即可:

/**
 * 移除 工具-站点健康 菜单
 * https://www.wpdaxue.com/wordpress-remove-site-health.html
 */
function wpkj_remove_site_health_menu(){
    remove_submenu_page( 'tools.php','site-health.php' ); 
}
add_action( 'admin_menu', 'wpkj_remove_site_health_menu' );

禁用站点健康邮件通知

如果网站存在致命错误,导致网站无法正常访问,WordPress会发送邮件通知给管理员,以便可以及时处理网站错误。当然,如果你真的想禁用掉这个邮件通知,以下两种方法均可实现

方法1:在wp-config.php添加定义:

define( 'WP_DISABLE_FATAL_ERROR_HANDLING', true );

方法2:在主题的functions.php中添加代码:

add_filter( 'wp_fatal_error_handler_enabled', '__return_false' );

以上两种方法都可以选其中一项

WordPress登录后才可以查看网站内容,代码

wordpress登录才能查看网站内容,未登录就跳转到登录页面。有这样需求的人还不少,有的可能是资料类什么的,有的人就是用来搞擦边球。

实现代码很简单,找一个全站一定会执行的钩子即可,这里我们就选了一个template_redirect钩子,这个动作钩子在加载模板时执行,当然其它很多都可以用。

<?php
//template_redirect动作钩子是一定会执行的,所以用这个钩子对全站有效
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
  //判断登录
  if( !is_user_logged_in() ){
    auth_redirect(); //跳转到登录页面
        exit();
  }
}

原代码只允许未登录者访问指定的页面或者直接跳转到登录。

简单改一下,加个判断in_category,只允许访问指定分类的归档页面和文章。

// 首页和指定分类文章可以访问
add_action( 'template_redirect', 'ashuwp_show_only_login', 0 );
function ashuwp_show_only_login(){
	//判断登录,只允许访问ID为3和2的分类文章
	if( !in_category( array( 3,2 ) ) && !is_home() && !is_user_logged_in() ){
		auth_redirect(); //跳转到登录页面
		exit();
	}
}

默认未登录者只允许访问网站首页和分类id为3和2的分类归档页面和文章,否则跳转到登录页面。

把 !in_category 前面的感叹号去掉改成 in_category,则正好相反,访问分类ID为3和2的分类文章跳转到登录,其它文章可以正常访问。

使用方法

代码添加到主题函数模板functions.php中。

电脑必备万能文库下载器工具

软件特色

1、支持百度、道客、原创力、豆丁、新浪爱问、淘豆、棒棒文库、蚂蚁文库等文库的下载

2、百度下载线路1下载的为PDF格式(可编辑的PDF),还原度高

3、百度下载线路2下载的为word格式,还原度一般

4、具体的其他注意事项进软件自行查看

软件功能

支持各大文库网站资源下载

工具下载

css常用样式|背景图像、缩放、镜像旋转、背景偏移与定位、文字溢出处理方法

CSS下镜像翻转

(水平/垂直翻转)(两种写法

方法一】利用css动画属性rotate旋转来实现:

/* 方法一 */
.mirrorRotateLevel {
    transform: rotateY(180deg);   /* 水平镜像翻转 */
}
.mirrorRotateVertical {
    transform: rotateX(180deg);   /* 垂直镜像翻转 */
}

此处,rotateY(180deg) 这里的 Y 表示元素以Y轴镜像翻转,也即水平翻转;同理,  rotateX(180deg) 表示以X轴为镜像翻转,即垂直翻转。

方法二】各个浏览器对镜像翻转的兼容写法来实现:

/* 方法二 */
.mirrorRotateLevel {          /* 水平镜像翻转 */
    -moz-transform:scaleX(-1);
    -webkit-transform:scaleX(-1);
    -o-transform:scaleX(-1);
    transform:scaleX(-1);
    /*兼容IE*/
    filter:FlipH;
}
.mirrorRotateVertical {        /* 垂直镜像翻转 */
    -moz-transform:scaleY(-1);
    -webkit-transform:scaleY(-1);
    -o-transform:scaleY(-1);
    transform:scaleY(-1);
    /*兼容IE*/
    filter:FlipV;
}

背景图片 相关CSS

背景图片

background:url(logo.png)no-repeat;

背景图片大小缩放: 宽 高

background-size:100%100%;

绝对定位

position:absolute;

设置一个背景颜色

background-color: #bfa;

设置图片不重复

background-repeat: no-repeat;

背景图片 终极缩放大法

object-fit: cover;
cursor: pointer;

[wm_notice]background-attachment用来设置背景图片是否随页面一起滚动可选值:不随窗口滚动的图片,我们一般都是设置给body,而不设置给其他元素[/wm_notice]

background-attachment: fixed;

scroll,默认值,背景图片随着窗口滚动

fixed,背景图片会固定在某一位置,不随页面滚动

背景图像偏移, 如下: 水平(宽度.左右平移) 垂直(高度.上下)

background-position: -50px -50px;

背景图片默认是贴着元素的左上角显示

通过background-position可以调整背景图片在元素中的位置

可选值:该属性可以使用 top right left bottom center中的两个值来指定一个背景图片的位置

  • top left 左上
  • bottom right 右下

如果只给出一个值,则第二个值默认是center,也可以直接指定两个偏移量

第一个值是水平偏移量

  • 如果指定的是一个正值,则图片会向右移动指定的像素
  • 如果指定的是一个负值,则图片会向左移动指定的像素

 第二个是垂直偏移量

  • 如果指定的是一个正值,则图片会向下移动指定的像素
  • 如果指定的是一个负值,则图片会向上移动指定的像素

css处理文字不换行、换行截断、溢出省略号

单行文字超出显示省略号

overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;

多行文字超出显示省略号

overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;

CSS span偏移

出现的原因:以文字基线对齐

<span>标签无法使用常规方法控制定位。方法如下

(1)给其中人一个元素设置:vertical-align:top

(2)使用float浮动

(3)定位position

在WordPress评论到一定数量的时候不允许评论-纯代码

wordpress本身是自带文章发布一定时间后自动关闭评论的功能的,但是我们想要文章的评论数量达到一定量以后自动关闭评论该怎么做呢?虽然这个功能用处不大,但可能有时候还是会用到。

使用方法

我们打开主题的functions.php文件,添加下面的代码进去即可:

代码

//评论超过一定数量关闭评论
function disable_comments( $posts ) {
if ( !is_single() ) {
return $posts;
}
if ( $posts[0]->comment_count > 50 ) {
$posts[0]->comment_status = 'disabled';
$posts[0]->ping_status = 'disabled';
}
return $posts;
}
add_filter( 'the_posts', 'disable_comments' );

[wm_notice]代码里头的数字50可以修改成你想要的评论数量,写50就代表文章评论数量到达50以后,自动关闭评论功能。[/wm_notice]