WordPress自动使用post id作为文章别名(slug)

代码如下,添加到主题的function.php文件中,注意,添加后文章原来的url结构及别名不会更改,新添加文章将自动使用post id作为别名。

/**
 * 新文章自动使用ID作为别名
 * 作用:即使你设置固定连接结构为 %postname% ,仍旧自动生成 ID 结构的链接
 */
add_action( 'save_post', 'using_id_as_slug', 10, 2 );
function using_id_as_slug($post_id, $post){
	global $post_type;
	if($post_type=='post'){ //只对文章生效
		// 如果是文章的版本,不生效
		if (wp_is_post_revision($post_id))
			return false;
		// 取消挂载该函数,防止无限循环
		remove_action('save_post', 'using_id_as_slug' );
		// 使用文章ID作为文章的别名
		wp_update_post(array('ID' => $post_id, 'post_name' => $post_id ));
		// 重新挂载该函数
		add_action('save_post', 'using_id_as_slug' );
	}
}

火车采集器采集PDF并且去重方法

update: 新版火车采集,如果把文件(包括pdf,图片等)当作URL网址来采集的话,在内容采集规则中的文件下载中,勾选 探测文件并下载,貌似也能解决上述问题!

最近在使用火车采集器的时候,遇到一个类似的问题,Google搜索到csdn上的一篇文章。

以下为引用,原文链接见文末。

遇到的案例是这样的,在http://www.xxx.com/index.html 上有多个pdf的下载连接,不定时会有新的pdf增加(下载链接有变化),现在需要监控网页变化,并下载新增加的文件。

直接使用火车采集器没法完美(至少我还没试出来)完成任务。

1,使用缺省设置,起始网址是 http://www.xxx.com/index.html ,使用“自动获取地址链接”,可以得到pdf文件的链接地址。在第2步“内容采集”的步骤中,会将pdf文件当为常规的html网页进行读取,但无法下载文件。

2,将起始网址作为内容页网址,也就是多级列表为空。这种情况下可以下载文件,但带来一个问题,下载一次后,由于起始网址是固定的,以后再运行这个任务,会被当作重复网址而忽略。如果在第4步“4、其他设置”的“发布相关”中,开启“清空该任务网址库”,可以多次运行本任务了,但同时带来一个更麻烦的问题,已更新的文件也被反复下载,火车采集器中并没有记录下载文件链接地址作为去重的依据。如果下载文件的命名规则使用[原文件名],重复下载的会被覆盖,不考虑流量、时间的情况下,第二种方法已勉强可接受。但下载文件会存在同名的情况(/1/abc.pdf 和 /2/abc.pdf),所以本案例中不适用。

现在想到的解决方案如下,使用手动设置规则获取链接地址,配合http请求、响应修改插件进行处理。

继续阅读

让WordPress支持svg图片的两种简单方法

svg格式的图片,wordpress默认是不支持的,当然你可以用插件来让它支持,但是还有更加简单的方法。

方法一

更改wp_include/functions.php文件, 找到wp_get_mime_types()函数,在// Image formats.注析后面图像格式最后一行加入svg对应的格式: ‘svg’ => ‘image/svg+xml’, 最后看起来代码是这样的:

     // Image formats.
        'jpg|jpeg|jpe' => 'image/jpeg',
        'gif' => 'image/gif',
        'png' => 'image/png',
        'bmp' => 'image/bmp',
        'tiff|tif' => 'image/tiff',
        'ico' => 'image/x-icon',
        'svg' => 'image/svg+xml',
        // Video formats.
方法二

更改所使用主题文件夹下面的functions.php文件。把下面的代码加入其中:

function my_upload_mimes($mimes = array()) {
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
}
 
add_filter('upload_mimes', 'my_upload_mimes');

需要注意的是,这种方法,如果你更换主题后,还需要重新修改主题的function文件。

BT宝塔面板关闭强制绑定手机注册

方法一

浏览器地址后面添加/files跳转到宝塔文件管理页面,比如你的宝塔地址是1.2.3.4:8888,改成1.2.3.4:8888/files访问;然后定位到以下目录

/www/server/panel/BTPanel/static/js
找到index.js文件,编辑,然后找到大概65行左右以下代码

if (bind_user == ‘True’) {
show_force_bind();
}
将True改成其他比如REMOVED,最后保存,然后强制刷新下页面,就不会提示绑定手机了~

方法二

SSH命令一键修改,实现原理跟方法1相同

sed -i "s|if (bind_user == 'True') {|if (bind_user == 'REMOVED') {|g" /www/server/panel/BTPanel/static/js/index.js

如果要恢复,执行以下命令:

继续阅读

手机卡V2ray免流教程

最近看到有人讨论免流 刚好前几天搞了台300M带宽的国内服务器 现在闲置了 于是便装了v2试试免流

现在免流已经不是15年那会儿了 以前倒是可以随便免 现在的免流线路都死完了 现在只能靠定向流量通过伪装实现免流了 如果你套餐有定向流量那可以按照本文说的来试一试

本人测试套餐为电信星卡 月租19块钱每个月200G定向流量 用来跑免流很合适 这张卡是我去年用来玩免流的 出于无聊 刚好手里有闲置的服务器 就又搞了试试 没想到用去年的混淆居然还能免流 我用的是优酷的混淆 测试用了两个多G流量 通用流量一点没少 全部跑的定向流量 可以说是0跳。

继续阅读

甲骨文OracleCloud一键DD Windows SP1

甲骨文的两台机器,一台用来富强,另外一台一直闲置,DD个Windows试试。

内容来自网络,节选,保存,备用。

  1. 实例默认系统选择安装Ubuntu16.04;
  2. 通过ubuntu 用户名登陆你的ssh shell
  3. 输入 【sudo su】 切换为root登陆,并输出【cd】切换目录;

运行以下脚本开始DD;

wget --no-check-certificate -qO InstallNET.sh 'https://tutu.bid/bash/InstallNET.sh' && bash InstallNET.sh -dd 'http://tutu.bid/os/dd/Oracle-Win7-X64%5BAdministrator-www.nat.ee%5D.gz'

然后等待大概30-40分钟,即可通过RDP 3389端口登陆

默认用户名:administrator
密码:www.nat.ee

安装的win7版本为64位中文版本。若希望安装其他DD包,请自行寻找。

RDP登陆成功后,请即刻修改管理员登陆密码。

继续阅读

免费微信聊天记录批量导出工具:果备份

由于公司跟别的公司有法律纠纷,而我公司跟对方销售有很多微信聊天记录,这些都是重要的证据,我们的律师让我导出所有的聊天记录,于是就有了这个需求,批量导出微信聊天记录。

由于跟对方几年的微信聊天记录,非常非常非常多(后来导出后就有好几G),录屏、截图都不现实,翻几十页微信就会挂掉。网上找了很多方法,很多软件,提到最多的就是楼月微信聊天记录导出恢复助手,但是根本没法儿用。最终找到能用的,而且免费的,就是果备份!

继续阅读

Linux常用压缩解压、移动复制删除命令

在Linux系统(包括 CentOS、Ubuntu、Debian)中常用到的压缩、解压命令。

压缩与解压

.tar 文件

# 仅打包,并非压缩
tar -xvf FileName.tar         # 解包
tar -cvf FileName.tar DirName # 将DirName和其下所有文件(夹)打包

.gz文件

# .gz
gunzip FileName.gz  # 解压1
gzip -d FileName.gz # 解压2
gzip FileName       # 压缩,只能压缩文件

.tar.gz文件、 .tgz文件

继续阅读

用Revive Adserver搭建广告系统

Revive Adserver之前Affiliate期间跑广告的时候用过,今天整理网站的时候翻出来了,记录下来,备忘!

Revive Adserver是一个自由开源的基于LAMP的广告管理系统,能使出版商,广告平台和广告商在网页、应用、视频上投放并管理广告的系统。Revive Adserver以前叫做OpenX Source,遵循GNU通用公共授权协议。它集广告管理、网站定位、地理定位和一个用于数据收集的跟踪系统于一体。能使网站站长管理内部的、付费的以及第三方来源的广告,如谷歌的AdSense 。

Revive Adserver官方网站:https://www.revive-adserver.com/