近期公告 

造成 update_post_meta 失效的原因可能是更新数组中不存在meta_keygimme a break…l am a fuxking idiot.. such a stupid freaking dumbass…
2022年6月6日 -

基本所有存在的主要问题都已得以解决,优化了后台分类/页面操作逻辑(自动同步所有基础数据,不再需要在页面手动操作)、用户界面更新等。目前唯一剩下的就是移动端适配了,之前一直没处理,不过页面逻辑写好了之后移动端适配相对是非常快的,基本一天就能搞定。对了还有个问题,wordpress的feed问题,浏览器可以访问feed数据,格式也是正确的,但通过其他阅读器访问就返回服务器问题,这个问题目前还没能得到解决(有可能是主题文件里写的某个东西出错了,但和rss相关的函数禁用了也不行,甚至重装wp使用默认主题也不成..)

Ps.

“基本上”在更新100“之前”完成~~

2022年6月6日 -

2022年6月2日 -

2blog主题进入最后测试阶段,目前多轮测试后开始跟进主题说明文档,发布地址暂定github。

Ps.

此次更新主要删除了部分无用静态文件(未来可能启用的仍然放在对应bin文件夹内),并预置了部分静态文件(前后端、图片等小型文件)。修复wordpress安装主题时初始化存在的部分问题,优化首次安装完成后部分显示错乱及逻辑判断问题,主题可能仍存在部分小bug

2022年6月2日 -

2022年5月31日 -

此次更新主要修复了分类与页面直接的同步通信bug(因特殊需求,创建page时不会创建对于slug分类),使用“slash ”关键字作为页面slug 时可以自动替换别名为斜杠“/”以连接上级分类目录。优化漫游影视、资源下载页面逻辑及调用方式,修复更新wp与leancloud及wp评论与valine之间来回切换数据逻辑,优化页面其他存在的问题。修改acg、download子分类模板逻辑(现可访问单独子级页面数据)。修复前端存在的数据调用问题(wp/leancloud),完善其他页面样式等更新。

Ps.

这次更新除了常规修复外都属于wp新增内容,具体还需要继续测试后才能确定是否使用(个人大概率是不会用的,因为之前的数据包括现在更新的这些数据都放在leancloud之间),除开公告(inform)单独区分外所有wordpress页面数据均属于默认文章数据,以文章分类进行区分。

2022年5月31日 -

2022年5月24日 -

鸽了这么久,文章也没写,一方面是事儿有点多,另一方面也是借口偷懒了。然后继上次沿用了category分类做导航后,目前新建测试网站修复了一些之前没考虑到的问题和一些小bug,目前总算是在内测阶段一了,我应该会模仿各位博友站的数据来测试兼容性,注意使用的是wordpress最新的版本(有些老bug就懒得修了,日后得空再说好了,免得又拿来当借口hhh),到时候测试好了看是写个文档还是做个视频什么的。(对了,主题兼容 leancoud 数据完全是个人所需,开启后接入appid/key和sdk白名单就可以用了,不过那都无所谓,因为使用wp原生功能也基本相同,只是目前没有集成 valine 评论现有功能到 wordpress 原生评论,比如涂鸦和即时保存那些)。另一方面来讲,主题相对之前的静态站来讲也新增了不少功能,包括从功能层到视图层到迭代等等.. 话说这个主题这么多年了现在开源也算是我的养老主题了。

Ps.

尽量在博客更新(一百内)开放内测~

2022年5月24日 -

2022年5月23日 -

之前方向有问题,用cat来做导航分类(新增、修改、删除自动同步到page和category),所以出了一个问题,当使用user_trailingslashit函数去除category目录的时候(当前页面类型为category)直接访问返回404错误,这个问题在登录wp后台后又自动没有了,于是使用get_pages()做页面导航,但是又存在访问文章页无法定位当前父级(上级)所属页面,在使用 category 作为导航的时候,直接使用 in_category 即可判断文章对应父级,但页面类型为page时无法使用 in_category 判断,,暂无解决方案。

Ps.

想一想还是用category做导航算了,毕竟还花了几天写分类页面同步来着..

2022年5月23日 -

2022年4月30日 -

突然发现网站打不开,但是偶尔又可以加载https(443)的资源,服务端 service nginx start返回 nginx: [emerg] bind() to 0.0.0.0:9699 failed (98: Address already in use),这个端口是我用来做seafile储存的,端口被占用应该是上次服务器全部重启部署的时候出现的,执行 sudo fuser -k 9699/tcp 后重启nginx服务即可。

Ps.

奇怪的是杀掉9699进程后,重启nginx服务后,执行 netstat -ltunp 依旧能看到9699进程在运行中,不同的是多了一个 80 绑定到 nginx:master,出现重复绑定 nginx master 端口的原因是我自己在 nginx 中自定义绑定了指定端口到 nginx 上..

2022年4月30日 -

2022年4月22日 -

有点无语,之前一直都是用文章分类在做站点导航,包括后续的功能函数都是围绕这个写的,现在发现页面导航貌似更方便些,很多写的功能在页面导航里都有.. 现在考虑要不要换成页面导航,还是说结合两者来做导航的问题

Ps.

蛋疼。。。

2022年4月22日 -

2022年4月19日 -

admin-ajax返回500错误的原因已找到,因为存在更新term分类时联动更新对应page页面,更新page页面时同步term分类数据的需求。
问题:更新term或page时无限转圈,后台查到返回500错误且一直重复请求。
原因:保存post(page)文章时更新 term 分类时由于wp文章草稿回档问题引发了无限循环更新(循环请求更新返回500错误但数据已更新的原因应该是,第一次匹配到指定更新数据,但第二次该数据已删除但请仍在请求更新所以返回500无限循环请求)。
方案:在 save_post 钩子内执行 wp_update_term 更新相关分类时,因为wp默认存在 revision 回档文章数据,所以在执行分类更新时需使用 wp_is_post_revision 判断当前更新 post_id 是否为存档文章,是则使用 remove_action 移除掉相关 hook 后再执行 wp_update_term 更新,然后再 add_action 添加该 hook!,否则直接执行 wp_update_term 更新分类。

Ps.

问题主要是没细看文档,更新分类 wp_update_term 钩子中貌似没有详细描述该循环问题,但更新文章 wp_update_post 钩子中文档里写了关于 Infinite loop 的相关说明,见:wp_update_post()、wp_update_term() WP新增/删除分类时候无限转圈已修复,未知原因:functions.php 尾部多余的“php开头/结尾符”.. 顺带一提:sitemap无法生成是原因是因为 sitemap.php 内使用相对路径“.././././”调用了 wp-load.php(需要使用wp的 get_option 函数所以需要加载wp文件)但在某些情况下无法正常获取到,所以出错了。(问题是这个原因是再另一个wp程序上测试出来的,因为另一个wp程序给我发错误邮件了,不知道为什么这个主题没有发送错误邮件,显示的是5.2版本开始就支持了..) 目前已实现创建/编辑/删除分类时同步数据到对应页面,创建分类时会自动创建对应name/slug页面,删除分类时将直接删除页面(默认分类没有回收站,所以当分类被删除时,对应页面将绕过回收站直接删除)。注意新建页面时不会创建对应分类,删除页面时会自动查询该页面是否存在已绑定的分类并删除(一般来说不建议通过页面来删除分类,会返回一个删除错误,即使已经正常删除页面及分类,目前该问题仍在解决中)

2022年4月19日 -

2022年4月18日 -

目前测试到是 edited_category 钩子中的 wp_update_post 导致的。

Ps.

正在测试该问题

2022年4月18日 -

2022年4月17日 -

目前做sitemap的时候这个问题又出现了,而且导致了不能require的问题,之前很多更新数据库的钩子都存在这个问题,数据成功更新了但状态一直转圈。看了下后台,不挂钩子成功返回的有两个admin-ajax请求,一个json、一个txt/html,成功返回时两个请求均为200;挂载钩子后请求json格式返回200,但txt/html返回了500,并且在不断重复尝试该请求。想了下有可能和之前写的部分ajax请求有关,但未证实。

Ps.

题外话,今天联通王卡又跑通用流量了,气得我去王卡公众号批判了一番,结果当然没卵用的反馈给后台人员。之前投诉这才几天?又出这问题,批判完直接给腾讯官方电话打过去结果大概意思就是,这个流量管控和腾讯没什么关系,得去找运营商也就是联通,然后为问他qq看点到底属不属于免流那边又说不出来,真是无语,投诉腾讯了个寂寞。。于是又电话给到联通,那边这次直接说我没有开通什么定向包(之前我有了解到这个东西,本身这个大王卡自带免流包,后面运营商又搞了个专属的包,不升级就没法免流,但我还是没什么影响就一直没去管)然后马上给我补了个,之前投诉那么多次都没这方案,我自然也没啥话说,不过我的通用流量又没了是事实,所以让那边申请500mb的通用包给我,毕竟还有半个月,一天一块也是十多块钱呢,那边也去申请了。到这里我觉得这个免流偷跑的事情应该也有个了结了吧,我实在不想继续投诉了..

2022年4月17日 -

2022年4月12日 -

这个问题的解决方案在《WP分类与页面slug冲突问题 – 博客更新(七十三)》中提到,当需要在category页面使用wp原生评论时,需要新建与分类相同slug的页面,同时关闭WPML链接重写插件(设置固定链接规则“.”)即可使用page页面提供的页面内容及评论选项应用到category上。这个操作其实是一个覆盖,观察链接可以发现url中移除了category选项后多了许多“.//”目录,相当于直接访问页面url和加上category目录的页面区分开来。

Ps.

题外话,前几天投诉给联通那边的解决方案给到了,那边核实了两次,第一次让我自己去测试流量偷跑程序,测试到之后第二次他们再进行核实处理。现在核实到之前是什么东西在升级,导致没能免流,现在给我把这之后产生的流量费用报销掉,但之后产生的费用需要我自行承担,这个方案只能说勉强,因为我通用流量已经跑没了,这之后每天都有至少一块钱的流量费用产生,所以我让那边再免费申请一个G,那边同意了,也通过了,处理结果还是不错。然后来吐槽下腾讯,投诉给联通的同时也投诉给到了腾讯大王卡,非常搞笑的是联通都解决问题了,腾讯连个电话回访都没有,从投诉到现在一个反馈也没有,这就是腾讯的态度。去tmd腾讯王卡

2022年4月12日 -

2022年4月12日 -

如题,因为数据绑定关系,目前已实现新增 category 分类时自动创建与其 slug 别名相同的 page 页面(用于 category 分类数据调用 wp 原生评论及页面描述数据),删除 category 分类时自动查询删除相同 slug 别名且 post 类型为 page 的页面。

Ps.

现已弃用 WPML 去除 category 目录插件(该类开启后即使存在对应 slug 页面也会被识别为 category 页面,导致无法调用评论及页面内容),利用 trailingslashit 函数进行 url 重写简化。(主题框架基本已经完善了,评论排行/资源下载/acg等页面多数据已对接完成)

2022年4月12日 -

2022年4月12日 -

通常通过 get_categories() 自定义分类导航,通过设置其 orderby 属性控制排序。不过只能通过一些已定义的参数进行排序比较局限,所以这时一般通过 meta_query 查询方式来自定义需求进行排序。定义排序值表单时,为了方便排序,每次添加分类时都自动设置该值为新增分类的 term_id 值,这样实现默认按添加时间排序,通过在分类编辑页面插入排序编辑表单(默认显示其分类id)进行修改。然后问题来了,之前配置的是需要访问该分类编辑页时判断是否设置排序再进行自动更新,导致每次新增分类后都需要访问一次该分类才能在前台通过meta_query查询排序输出分类导航,但显然这是很不方便的,所以看了下有创建分类的两个 hook:edited_category/creat_category,只需要将自动更新排序值函数挂载到这两个钩子上即可实现新增分类自动更新排序值为新增分类id。

Ps.

问题主要是没有在创建分类时更新表单值(目前仍存在新增分类时无响应但已添加的情况,及删除分类时出现错误的提示但已删除的问题)

2022年4月12日 -

2022年4月4日 -

php object 转 array 使用 json_decode 时,将第二参数设置为 true 即可返回纯数组(包括对象子级)如 json_decode($object, true),主要用于api返回json_encode()返回的json对象。参考链接:PHP——数组和对象相互转化,stdClass Object转array

Ps.

中途还使用了 get_object_vars() 转换,但默认只能转换第一个对象为数组类型。

2022年4月4日 -

2022年3月30日 -

此功能用于公司业务场景(业务表单使用的是 wordpress 的 contact form 7 联系表单插件用于收发邮件提醒),在自定义form时该插件doc的dom事件均不能正常使用,需要手动定义相关触发事件。上次使用的wp评论企业微信应用通知是基于wp评论hook的,此时需要将其挂载到wpcf7插件提交事件上,而自定义表单的wpcf7需要手动设置邮件发送设置。将企业微信及相关函数设置完成后,首先想到的是将链接挂载到自定义form的action触发微信通知,结果可行,但wpcf7邮件提醒失效了(后来想过一个button提交多个action,比较麻烦也不太可行),需求是邮件提醒和微信提醒同时存在,所以该方案不可行。然后想到了第二个方案,利用js来发送通知api链接请求(其实该方案一开始就测试过,但不知道什么原因导致了cors跨域不可访问,应该是没有使用get请求类型获取相关参数),结果测试成功,微信收到通知后随即发送邮件提醒。

Ps.

此功能基于wp评论微信提醒修改,利用方案二可以在任意位置请求该api通知(需要定义所需发送参数)

2022年3月30日 -

评论留言

既来之则留之~ 欢迎在下方留言评论,提交评论后还可以撤销或重新编辑。(Valine 会自动保存您的评论信息到浏览器)