当前分类

WordPress

WordPress 网站安全:Nginx 规则配置

WordPress 网站安全:Nginx 规则配置

只需简单设置 Nginx 规则,就能提高 WordPress 网站的安全性,比如限制访问 XMLRPC、限制请求类型、禁止直接访问 PHP 文件和禁止访问某些敏感文件等。将如下代码,放到 WordPress 站点所使用的 Nginx 配置文件 server {} 内即可。 1.限制访问 XMLRPC WordPress中 的 XMLRPC 端点(根目录下的xmlrpc.php文件)用于允许外部应 ...

WordPress 禁止访问网站核心 PHP 文件,提高安全性

WordPress 禁止访问网站核心 PHP 文件,提高安全性

WordPress 用的是 PHP 语言,禁止访客访问网站核心 PHP 文件能提高安全性。我们以 Nginx 的配置文件为例,来详细说明如何安全配置:禁用某些目录执行 PHP。 server { listen 80; server_name website.com; # Redirect non-www to www (website.com -> www.website.com) return 301 http://www.$server_name$request_uri; } ...

WordPress 常用动作钩子 (action)分享

WordPress 常用动作钩子 (action)分享

在制作主题和插件,或者为 WordPress 增加某些功能时,一般都要使用 WordPress 的动作钩子 (action),分享几个比较常用的动作钩子,以备用时查看。 plugins_loaded 对插件开发者来说,plugins_loaded 动作钩子也许是最重要的动作钩子了,它在大多数 WordPress 文件加载完成之后,并在 pluggable 函数和 WordPress 开始执行 ...

WordPress 主题和插件的加载运行机制、Hook钩子与重要函数

WordPress 主题和插件的加载运行机制、Hook钩子与重要函数

本文有助于你深度了解 WordPress 主题和插件的 PHP 加载顺序,学习 Hook(钩子)Action(动作钩子) Filters(过滤钩子)的概念,弄懂 WordPress 重要函数:do_action、add_action、apply_filters 和 add_filter。 插件的加载机制 了解插件的加载机制,能够帮助我们更加深入的了解插件的开发,也能够帮助我们更好的对插件进 ...

WordPress 钩子(Hook)的机制与原理:add_action、add_filter

WordPress 钩子(Hook)的机制与原理:add_action、add_filter

了解 WordPress 钩子(Hook)的机制与原理,就能明白自定义函数中 add_action 和 add_filter 的含义了,他们对应着 WordPress 动作钩子和 WordPress 过滤钩子,对于修改或制作主题与插件帮助非常大,甚至可以说比必经之路。 本文针对 WordPress Hook 运作大致做个简单的说明,而预设读者是理解基本的 PHP function 语法及运作 ...

WordPress 获取当前页面 URL 地址的方法

WordPress 获取当前页面 URL 地址的方法

通过 WordPress 原生的函数来,或者自定义函数,都可以获取当前页面的 URL 地址。 1、用 WordPress 原生的函数来实现,代码如下: $current_url = home_url(add_query_arg(array())); 2、普遍适用的方法,代码如下: $current_url = home_url(add_query_arg(array(),$wp->request)); 3、直接在 WordPress 中加入如下代码: 然后 ...

WordPress 过滤钩子(Filter)基础详解

WordPress 过滤钩子(Filter)基础详解

WordPress 过滤钩子(filters)——我们可以扩展 WordPress 的最好方法之一。这个特性的基础就是钩子(hooks)—— WordPress的过滤(filters)和动作(actions)钩子。没有它们,我们就无法利用 WordPress 的可扩展性的优势。 什么是 WordPress 过滤钩子(Filter) 在 WordPress 官方开发文档里面,过滤钩子(filter)是这样定 ...

WordPress 如何禁止订阅用户访问后台 wp-admin.php

WordPress 如何禁止订阅用户访问后台 wp-admin.php

wordpress 如何禁止订阅用户访问后台 wp-admin.php?设置注册默认用户组是订阅用户,然后把下面代码黏贴到主题的模板函数文件里即可: if ( is_admin() && ( !defined( 'DOING_AJAX' ) || !DOING_AJAX ) ) { $current_user = wp_get_current_user(); if($current_user->roles[0] == get_option('default_role')) { wp_safe_ ...

WordPress 全局变量:$pagenow 判断后台页面位置,如 wp-login.php/post.php/post-new.php

WordPress 全局变量:$pagenow 判断后台页面位置,如 wp-login.php/post.php/post-new.php

WordPress 代码中有非常多的全局变量,$pagenow 是经常用到的一个,特别是在后台开发的时候,通过它,我们可以定位所在的位置。 $pagenow 定义 $pagenow 是在 wp-include/vars.php 中定义的,查看他的源代码,$pagenow 定义简单分成两种情况: 如果是前台页面,除了自定义的页面(比如feed页面),基本都是 index.php。 涉 ...

WordPress 自定义修改:Logo的图片/链接/提示信息(tltle)/登录框内容和底部内容

WordPress 自定义修改:Logo的图片/链接/提示信息(tltle)/登录框内容和底部内容

通过 WordPress 的挂钩(hook),可以做很多自定义修改:Logo 图片/Logo 链接/Logo提示信息(tltle)/登录框内容/底部内容/和CSS。注:下文提到的所有代码,都是添加到主题的 funshions.php 文件的最后一个 ?> 的前面。 自定义 Logo 图片 制作一个名为 login_logo.png 的图片,放在主题下的 images 文件夹里(也可以根据自己的 ...

WordPress 检测当前页面模板文件的路径

WordPress 检测当前页面模板文件的路径

WordPress 检测当前页面所使用的模板文件是什么?修改 wordPress 主题的时候,由于一个功能出现错误,需要修改主题源文件,但不知道这个功能代码是置于哪个模板文件内,那么该怎么查找这个页面是利用的哪个模板文件呢? 1.查找 wordpress 源文件:wp-includes\template-loader.php, 找到以下代码: else : $template = get_ ...

修改 Wordpress 的默认登录界面,自定义样式如更换 logo

修改 Wordpress 的默认登录界面,自定义样式如更换 logo

修改 Wordpress 的默认登录界面,比如想将 Wordpres s的 logo 替换为自己网站 logo,并改变其外观,或者打造一个个性化的登录页面,可以参考此文。 一、将下面代码加到主题 functions.php 模版文件的最后。 二、在所用主题中新建一个名称为:custom_login 的文件夹,并在其中新建:custom_login.css 及制作好的网站 LOGO: ...

如何限制 ajax 的请求频率

如何限制 ajax 的请求频率

如何限制 ajax 的请求频率,大概的思路就是等请求成功之后才能再次发送请求,当然也可以加延时请求等 var ajaxFinished = true; $("p").on("click", function(){ if (ajaxFinished) { ajaxFinished = false; $.get('https://www.baidu.com', function(){ console.log('success'); ajaxFinished = true; }) } }) ...

WordPress REST API 与 admin-ajax.php 的性能比较

WordPress REST API 与 admin-ajax.php 的性能比较

自引入 WordPress REST API 以来,许多插件开发人员已开始将其插件转换为使用 REST API 而不是较旧的 AJAX API(admin-ajax.php)。除了 REST API 只是一种较新的技术外,有传言说 REST API 也比旧的端点更快,更可靠,原因是在典型的 REST 请求期间没有加载太多的 WordPress。 在本文中,我们将研究典型的REST请求以及提出 ...

WordPress AJAX:AJAX 钩子和 Rest API 对比

WordPress AJAX:AJAX 钩子和 Rest API 对比

WordPress 自带的 AJAX 钩子(admin-ajax.php)实现 AJAX 和 WordPress Rest API 方法实现 AJAX 是在 WordPress 项目的开发中,相较于原生的前后端实现,更便捷的实现 AJAX 的两种方法。 WordPress 自带的 AJAX 钩子实现 AJAX 这个方法是现在用的比较多的。原理是前端向/wp-admin/admin-ajax.php这个接口发送请求,这个接口 ...

WordPress 各种钩子和过滤器 action/filters 的执行顺序

WordPress 各种钩子和过滤器 action/filters 的执行顺序

WordPress 之所以能提供这样灵活的二次开发能力,一大途径就是它里面内涵了各种各样的 action/filter,通过这些 action/filter,你可以 在Wordpress 运行的各个环节来修改缺省的 WordPress 行为、表现和事件。为了方便我记忆,也给遇到跟我一样困难的朋友们一些提示,下面是我在网上找到的各种 WordPress action 的执行顺序 ...

WordPress 判断指定ID或当前登录用户是否为管理员权限

WordPress 判断指定ID或当前登录用户是否为管理员权限

WordPress 判断指定 id 的用户是不是管理员,以及判断当前登录用户是不是管理员的办法如下 判断指定id的用户是不是管理员 该需求实现起来非常简单,几行代码搞定,分享一下: function ludou_is_administrator($user_id) { $user = get_userdata($user_id); if(!empty($user->roles) && in_array('administrator', $user->r ...

WordPress 判断管理员登录的两种办法

WordPress 判断管理员登录的两种办法

WordPress 二次开发时,后台程序要验证管理员是否登录,以确保系统安全,is_admin() 和 current_user_can() 均可达到验证目的,但是需要注意 is_admin() 在某些情况下并不适用。 1、使用is_admin()函数 通常情况下,使用is_admin()函数,便可验证当前用户是否管理员了。 使用方法: if (is_admin()){ //验证成功 }else{ // ...

微信扫一扫,分享到朋友圈

WordPress 判断管理员登录的两种办法