月度归档:2月 2022

WordPress后台开发,无插件增加一键复制文章页面功能

这次要实现的功能是在WordPress后台的文章列表中,添加一键复制文章的按钮。完整地复制一篇文章,除了要复制文章内容外,还要复制文章所有的分类信息和关联字段,这是复制功能的核心。另外要实现这个功能还要带上一些后台的交互,为了避免不小心点到这个按钮徒增不必要的数据,还需要做个二次确认框,效果是这样的。
WordPress后台开发,无插件增加一键复制文章页面功能

先要通过post_row_actions钩子增加一个”Duplicate”按钮(其实是个链接)

1
2
3
4
5
6
7
function brain1981_duplicate_post_link( $actions, $post ) {
	if (current_user_can('edit_posts')) {
		$actions['duplicate'] = '<a href="###" data-url="'. wp_nonce_url('admin.php?action=brain1981_duplicate_post&post=' . $post->ID, basename(__FILE__), 'duplicate_nonce' ) . '" title="Duplicate it" rel="permalink" class="duplicate-trigger">Duplicate</a>';
	}
	return $actions;
}
add_filter('post_row_actions', 'brain1981_duplicate_post_link', 30, 2 );

查看详细 »

WordPress+WooCommerce保险网站案例,我能把WooCommerce定制到什么程度

最近几年有很多人找我们咨询WordPress+WooCommerce建立外贸电商网站,其中大部分人在找到我之前,并不了解我和市面上大部分其他在用WordPress的建站团队或公司在服务和技术上有什么分别。于是我打算写几篇案例分享,来展示我们对于WordPress以及WooCommerce能做到怎样大部分其他人做不到的程度。

今天的话题是一个保险网站的案例,这是一个面向留学美国高校人群的保险售卖网站,学生(或家属)需要购买医疗保险,于是Ta登录该网站。

首先,用户选择Ta所在的学校和自己的出生年月。网站已经内置了全美绝大部分的学校资料,输入简单的关键词或者学校简称,即可搜索到对应的学校:
查看详细 »

WordPress自定义上传文件最大容量(size)的几种方法

这篇文章仍然拿上传文件做话题,因为最近用WordPress做交互站比较多,对这块研究得算是比较深了。

WordPress有自带的上传文件最大值限制,这个限制,到后台的“工具”-“站点健康”-“信息”页面可以查到,受制于服务器环境影响,不同的网站限制的大小会有所不同,比如这个网站是40M:
WordPress上传文件最大容量size

如果要修改这个限制,首先要到服务器环境下的php.ini配置文件中查看相关设置,找到这一行,修改后面的数值。
upload_max_filesize = 80M
post_max_size = 80M
memory_limit = 256M
查看详细 »

WordPress开发者自定义附件上传目录的几种方式

WordPress默认的媒体库,即附件上传路径在站点目录的/wp-content/uploads/路径下。WordPress官方提供了两种文件组织方式,一种是按年分,一种是按月分。个人博客网站,内容不多的,考虑按年会比较好管理;如果是更新频繁的咨询站、电商站则推荐按月分文件夹。因为如果单个目录下文件太多,会发生ftp无法索引的问题,这个问题我曾写过一篇 文章 讨论。
WordPress自带的附件管理设置

大部分情况下我们不需要修改默认的文件上传路径,但在以下情况下就会产生这样的需求:
1. 前端不直接暴露附件路径的付费下载站;
2. 交互类网站允许访客上传附件的,不希望和站长自己上传的附件放在同一路径下;
3. 有意隐藏WordPress信息的,即不希望他人通过路径特征知道我们是用WordPress建的网站。 查看详细 »

WooCommerce无插件增加优惠券功能,限定/禁止给指定用户角色(role)使用

WooCommerce提供了基本的优惠券Coupon功能,优惠券可以限定/禁止使用的产品、产品分类、限定最小和最大金额等,这些功能很实用,但仍然比较单薄,尤其是对指定用户的限制很弱,只能限定给指定邮箱的用户使用。邮箱可以使用通配符比如*@google.com,这可能比较符合国外网站的运营习惯,但对我们来说不太直观好用。我们通常希望实现的是给指定用户等级设定优惠券的使用或者禁用。本文记录如何开发出这个功能。

先看下结果:
WooCommerce无插件增加优惠券功能,限定/禁止给指定用户角色(role)使用

图中倒数第三行是WooCommerce自带的邮箱设定,最后两行就是我添加的功能,指定优惠券对某些用户等级(role)的使用和禁用。 查看详细 »