阿里云OSS Upload插件

OSS Upload 是一款可设置阿里云 OSS 作为 WordPress 媒体库存储空间的插件,支持原创增强的 OSS 协议包装和原生内置的所有图像上传及编辑等相关功能。

插件设置非常简单,支持伪协议,无需修改任何内置上传函数;支持自定义上传目录,支持独立二级域名。OSS 本身也支持 HTTPS、CDN,还有各种强大的 API,使用迄今都非常稳定强大,推荐!

更新:新版强大稳定,可兼容各种插件和主题。使用免费。

插件功能

  • 支持流协议几乎兼容所有插件
  • 全新支持大文件自动分块上传
  • 支持文章可自动上传远程图片
  • 全新支持多站并自动继承配置
  • 支持图片服务相关缩略图设置
  • 支持识别浏览器自动格式加速
  • 带中英文附带设置说明和示范

常见问题

1、关于库的权限设置
插件只支持第二种“公共读、私有写”。如使用“私有+签名”的方式,资源一样是暴露的,没有意义。

2、关于图片原图保护
启用了原图保护,则图片服务只能选择第二种,即使用样式;或选择第三种再设置默认样式。

3、关于图片流量保护
这个跟插件无关,可以考虑开启防盗链。

4、关于上传大文件报 503 错误
这个跟系统设置有关:PHP内存、PHP执行、PHP超时等;如 PHP-FPM 可设置 ProxyTimeout 300

5、关于内部端点的设置
推荐 OSS 和 ECS 为同一地区,然后设置上传端点为内部端点,经实验上传大文件基本是秒拷。

6、启用远程图片上传后文章提示还原备份
该功能是保存文章时在后端上传并替换图片,导致文章跟前端浏览器备份的内容会有差异。忽略即可。

版本更新

= 4.3.9 =
* 修复上传本地目录时会丢失上传路径的目录

= 4.3.8 =
* 排除爬虫的图片加速效果
* 排除非图片的压缩样式
* 优化远程图片自动保存兼容性
* 优化默认自带全图样式
* 优化删除缩略图的功能
* 修正导出个人数据出错

插件下载
[ibb href=’https://img.xiaomac.com/2016/12/oss-upload.4.3.7.zip’]官方下载[/ibb]
https://wordpress.org/plugins/oss-upload/(重新审核中)
官方下载oss-upload.4.3.7

[igb href=’https://www.xiaomac.com/2016121895.html’]官方博客[/igb]

Sweet免费WordPress博客主题

今天给大家分享一款WordPress博客主题:Sweet主题,这款WordPress主题基于WPJAM插件制作,因此,必须安装WPJAM插件,要求Linux服务器以及使用PHP7.2版本。

 

主题特点:

  • 1、响应式设计,完美兼容移动端设备浏览。
  • 2、支持古腾堡编辑器,内置多种古腾堡区块,代码高亮、手风琴、TAB切换、进度条等…
  • 3、高度自定义设置,自定义页脚版权信息、菜单栏可选择居中,靠左,靠右、列表和网格两种博客样式。

虽然这是免费主题,但都是亲自测试过的,都可以正常运行,按照要求进行设置(Linux系统的服务器 + PHP7.2 + WPJAM插件)。

主题演示站用的是最新版WordPress程序,最新版WPJAM插件,PHP7.2,可以正常使用主题。

主题演示图片:

一款Sweet免费WordPress博客主题下载
一款Sweet免费WordPress博客主题下载
一款Sweet免费WordPress博客主题下载
 

 

WordPress禁止某些用户账号登录源码&插件“盘他”

WordPress禁止用户登录插件

首先下载安装 盘他 插件(反正放入 functions.php 文件和弄成插件速度性能是一样的,还可以免除更新带来的烦恼,何乐而不为呢?),下载地址:

启动插件后,在后台用户编辑(想要禁止的用户个人信息)→勾选禁止用户登录更新用户即可!

下次Ta再登录的时候,就会出现如下提示:

他就无法登录骚扰你了!

WordPress禁止用户登录源码

放入主题中的 functions.php 文件即可

/**
 * WordPress禁止某些用户账号登录插件源码分析,及WordPress用户黑名单插件“盘他”下载
 * https://www.dujin.org/12560.html
 */
//在资料页面添加选项
function dj_rc_admin_init(){
    // 编辑用户资料
    add_action( 'edit_user_profile', 'dj_rc_edit_user_profile' );
    add_action( 'edit_user_profile_update', 'dj_rc_edit_user_profile_update' );
}
add_action('admin_init', 'dj_rc_admin_init' );
 
//在个人资料页面添加一个复选框
function dj_rc_edit_user_profile() {
    if ( !current_user_can( 'edit_users' ) ) {
        return;
    }
    global $user_id;
    // 用户不能禁止自己
    $current_user = wp_get_current_user();
    $current_user_id = $current_user->ID;
    if ( $current_user_id == $user_id ) {
        return;
    }
    ?>
    <h3>权限设置</h3>
    <table class="form-table">
    <tr>
        <th scope="row">禁止用户登录</th>
        <td><label for="dj_rc_ban"><input name="dj_rc_ban" type="checkbox" id="dj_rc_ban"
        <?php if (dj_rc_is_user_banned( $user_id )){echo 'checked="checked"';} ?> /> 勾起来,盘Ta,什么玩意儿……</label></td>
    </tr>
    </table>
    <?php
}
 
//添加一个函数来将这个选项的值保存到数据库中
function dj_rc_edit_user_profile_update() {
    if ( !current_user_can( 'edit_users' ) ) {
        return;
    }
    global $user_id;
    // 用户不能禁止自己
    $current_user    = wp_get_current_user();
    $current_user_id = $current_user->ID;
    if ( $current_user_id == $user_id ) {
        return;
    }
    // 锁定
    if( isset( $_POST['dj_rc_ban'] ) && $_POST['dj_rc_ban'] = 'on' ) {
        dj_rc_ban_user( $user_id );
    } else { // 解锁
        dj_rc_unban_user( $user_id );
    }
}
 
//禁止用户
function dj_rc_ban_user( $user_id ) {
    $old_status = dj_rc_is_user_banned( $user_id );
    // 更新状态
    if ( !$old_status ) {
        update_user_option( $user_id, 'dj_rc_banned', true, false );
    }
}
 
//解禁用户
function dj_rc_unban_user( $user_id ) {
    $old_status = dj_rc_is_user_banned( $user_id );
    // 更新状态
    if ( $old_status ) {
        update_user_option( $user_id, 'dj_rc_banned', false, false );
    }
}
 
//判断用户是否被禁止
function dj_rc_is_user_banned( $user_id ) {
    return get_user_option( 'dj_rc_banned', $user_id, false );
}
 
//阻止已禁止的用户登录
function dj_rc_authenticate_user( $user ) {
    if ( is_wp_error( $user ) ) {
        return $user;
    }
    // 如果用户被禁止,则返回错误提示,这里是显示给登录用户看的,错误提示可根据自己的喜好修改。
    $banned = get_user_option( 'dj_rc_banned', $user->ID, false );
    if ( $banned ) {
        return new WP_Error( 'dj_rc_banned', __('抱歉,您已被禁止登录!请联系站长解禁。', 'rc') );
    }
    return $user;
}
//将该函数挂载到 wp_authenticate_user 钩子
add_filter( 'wp_authenticate_user', 'dj_rc_authenticate_user', 1 );

WordPress禁止用户登录插件

WordPress盘他插件下载 dj-panta.zip(提取码:kqkn): 网盘下载