在WordPress的世界里,图片是不可或缺的元素。它们可以美化你的网站,增强用户体验,甚至还能帮助你更好地传达信息。当我们从网络上获取图片时,往往会遇到一些问题,比如图片无法直接插入到文章中,或者图片的版权问题。今天,我就要给大家分享一个非常有用的技巧——如何在WordPress中自动保存远程图片。下面,让我们一起来看看吧!
什么是远程图片?
我们来了解一下什么是远程图片。简单来说,远程图片就是存储在互联网上的图片,而不是存储在你自己的服务器上。当你从网络上获取图片时,通常就是获取远程图片。
为什么需要自动保存远程图片?
1. 避免版权问题:直接使用远程图片可能会涉及到版权问题。自动保存远程图片可以帮助你将图片存储在自己的服务器上,从而避免版权纠纷。
2. 提高网站加载速度:当你直接使用远程图片时,图片的加载速度可能会受到网络状况的影响。自动保存远程图片可以让你在本地服务器上缓存图片,从而提高网站加载速度。
3. 方便管理:将远程图片自动保存到本地服务器,可以让你更方便地管理图片,比如修改图片尺寸、添加水印等。
WordPress 自动保存远程图片的方法
下面,我将介绍几种在WordPress中自动保存远程图片的方法:
方法一:使用插件
1. 插件推荐:Media File Renamer
2. 操作步骤:
在WordPress后台,进入“插件”-“添加新插件”。
搜索“Media File Renamer”并安装。
安装完成后,在“设置”-“Media File Renamer”中启用“自动重命名”和“自动保存远程图片”功能。
设置好相关参数后,点击“保存更改”。
方法二:修改主题文件
1. 修改文件:functions.php
2. 添加代码:
“`php
function save_remote_images($file, $url, $post_id) {
$filename = basename($url);
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir[‘path’] . ‘/’ . $filename;
$upload_url = $upload_dir[‘url’] . ‘/’ . $filename;
$attachment = array(
‘post_mime_type’ => ‘image/jpeg’,
‘post_title’ => sanitize_file_name($filename),
‘post_content’ => ”,
‘post_status’ => ‘inherit’,
‘guid’ => $upload_url,
);
$attachment_id = wp_insert_attachment($attachment, $upload_path, $post_id);
require_once(ABSPATH . ‘wp-admin/includes/image.php’);
$attach_data = wp_generate_attachment_metadata($attachment_id, $upload_path);
wp_update_attachment_metadata($attachment_id, $attach_data);
return $upload_url;
}
add_filter(‘wp_handle_remote_upload’, ‘save_remote_images’, 10, 3);
“`
3. 保存并启用:将修改后的代码保存到functions.php文件中,并启用主题。
方法三:使用JavaScript
1. 代码示例:
“`javascript
function saveRemoteImage(url) {
var xhr = new XMLHttpRequest();
xhr.open(‘GET’, url, true);
xhr.responseType = ‘blob’;
xhr.onload = function () {
if (xhr.status === 200) {
var reader = new FileReader();
reader.onload = function (e) {
var img = new Image();
img.src = e.target.result;
img.onload = function () {
var canvas = document.createElement(‘canvas’);
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext(‘2d’);
ctx.drawImage(img, 0, 0);
var dataUrl = canvas.toDataURL(‘image/jpeg’);
var formData = new FormData();
formData.append(‘file’, dataUrl);
formData.append(‘post_id’, 123); // 你的文章ID
var xhr2 = new XMLHttpRequest();
xhr2.open(‘POST’, ‘/wp-admin/admin-post.php’, true);
xhr2.setRequestHeader(‘Content-Type’, ‘multipart/form-data’);
xhr2.onload = function () {
if (xhr2.status === 200) {
console.log(‘图片保存成功’);
} else {
console.log(‘图片保存失败’);
}
};
xhr2.send(formData);
};
};
reader.readAsDataURL(xhr.response);
} else {
console.log(‘图片加载失败’);
}
};
xhr.send();
}
“`
2. 调用函数:在需要保存图片的页面或文章中,调用`saveRemoteImage(‘图片地址’)`函数。
总结
通过以上方法,你可以在WordPress中轻松实现自动保存远程图片。这不仅可以帮助你避免版权问题,还能提高网站加载速度,方便管理图片。希望这篇文章能对你有所帮助!如果你还有其他问题,欢迎在评论区留言交流。
如何利用WP-AutoPost进行网页采集,自动更新到wordpress
一、安装WP-AutoPost
您可以通过从您的WP-AutoPost.ORG帐户下载ZIP文件手动安装WP-AutoPost。
如果您想手动安装WP-AutoPost,请按照下列步骤操作:
登录您的WP-AutoPost.ORG帐户。
转到“账户”部分。
下载您需要的WP-AutoPost插件(ZIP文件)。
将下载的 ZIP文件上传到您网站的’wp-contents/plugins’目录。
解压该ZIP文件。这将创建一个目录。
登录到您的网站,转到“插件”,并启用它。
二、创建任务及基本设置
创建任务
点击“新建任务”后,输入任务名称,即可创建新任务,创建好新任务之后可以在任务列表中查看到该任务,就可对该任务进行更多设置。
基本设置
点击“设置”之后,可在“基本设置选项卡”下,进行如下设置:
任务名称:修改任务名称
分类目录:该任务采集文章发布到的分类目录
作者:该任务采集文章的发布作者,必须是wordpress里的注册用户
更新时间间隔:间隔多长时间检测一次该采集任务下是否有新文章可以更新
字符集:采集目标网站的字符集编码,默认为UTF8,如果目标网页字符集编码不是UTF8,抓取的网页会出现乱码,设置正确的字符集即可解决该问题(如何正确设置字符集)
下载远程图片:如果该任务下采集的文章里包含图片,可以选择是否下载远程图片到本地服务器,选择下载远程图片可以做以下更多设置:
将下载的图片保存到wordpress媒体库中
将图像保存到 Flickr
将图像保存到七牛云存储
将下载的第一张图片自动设为特色图片
下载的图片自动添加水印,可添加文本水印或图片水印
选择设置图片地址的属性(如果包含源图片地址的属性不是src,可以在这里做设置)
下载远程附件:如果该任务下采集的文章里包含其他类型附件,可以选择是否下载这些附件文件到本地服务器,选择下载后可以做以下更多设置:
将下载的附件信息保存到wordpress媒体库中
自动标签:选择是否使用自动标签
标签列表:使用自动标签后如果文章包含列表里的关键词,将自动添加标签
匹配完整的单词:该设置对英文文章有效,中文文章请勿启用该设置
自动摘要:可自动将文章中第一段或前面几段文字设为摘要
发表状态:采集发布后文章的状态,可以是:已发布,草稿,等待复审
手动选择性采集:选择是,将手动选择哪些文章可以采集并发布
三、文章来源设置
文章来源设置
在该选项卡下我们需要设置文章来源的文章列表网址及具体文章的匹配规则
如何将WordPress数据自动备份到本地
TAG:WordPress
Dropbox在国内已被墙,第一次注册和安装Dropbox客户端时需要翻(—敏感词过滤分割线—)墙,下载客户端之后不使用代理也可以正常接收同步备份文件
使用wordpress备份插件不仅可以备份wordpress数据库,还可以备份图片、主题模板等文件。同时wordpress备份插件可以定时将数据作为附件自动备份到自己的email邮箱,或者进入后台直接手工下载到本地电脑。但是如何自动将wordpress数据库文件自定备份到本地电脑呢?毕竟下载到本地电脑会让人比较放心。直接使用可以发送wp博客数据库备份到你的Dropbox帐户的Wordpress插件,或者wp插件再结合使用Dropbox即可实现这种功能,最后通过Dropbox自动同步备份文件到你的本地电脑。
WordPress备份插件
首先介绍几款相关的Wordpress备份插件:
wp-db-backup备份插件:wp-db-backup备份插件是wordpress官方网站上最热门的数据库备份插件,使用起来也非常简单,下载安装该插件并启用后跳转到Dashboard-》Tool-》Backup设置数据库表的备份选项即可,可选:
1、备份文件到服务器
2、下载到本地电脑
3、Email备份到邮箱
还可以选择自动定时备份到你指定的email邮箱,设置每小时、每天、每两天、每周定时备份博客数据库均可。wp-db-backup会在wp-content目录下新建一个以backup开头的随机名称作为备份文件保存的目录,随机数字名称在一定程度上使备份文件更加安全。
另外一个类似的wordpress博客备份插件是wp-dbmanager,wp-dbmanager备份插件也是一个相当热门的wordpress插件,不仅可以自动定时备份,还可以直接在wordpress后台导入数据库备份文件、数据库修复、优化、恢复、删除、清空等数据库操作。
不过上面两个wordpress备份插件定时备份只能发送数据库备份文件到email邮箱,不能直接发送到你的dropbox账户。所以这里再介绍一个插件wp-time-machine,wp-time-machine备份插件其实也是一个非常不错的插件,安装并启用该插件后,不仅可以备份数据库文件、还可以备份uploads目录上传的图片等所有wp-content中的文件(如wordpress主题)、.htaccess文件、数据库恢复说明。最关键的是它可以将这些备份文件发送到你的远程账户,包括Dropbox、Amazon’s AWS S3、远程FTP服务器。但是wp-time-machine有一个致命的缺点是,只要你的wordpress博客启用了这个插件,任何访客访问这个地址:
都会在wp-content目录下生成那些备份文件,而且默认的备份文件名称都是一样的,比如wpTimeMachine-data-files.sql,因此任何人都可以通过浏览器在这个地址下载到你的数据库备份文件。wp-time-machine备份插件作者提示将上面生成网址中的generate=1改为clear=1,使用curl url自动定时执行备份计划任务时,就不会在wp-content目录下生成备份文件。许多介绍该插件使用方法的中文文章也只提示在wordpress后台点击了该插件的备份操作之后,要记得删除这些备份文件,但是却都没有提示这个地址会被任何人访问到。因此为了你的wordpress博客安全,强烈建议不要使用该插件,也许哪一天插件作者更新了这个安全漏洞之后,可以考虑启用这个插件。
如何将wordpress备份文件发送到dropbox
既然wp-time-machine不能用,那么如何将wordpress博客备份文件发送到dropbox呢?当然还是有办法的,比如利用wp-db-backup备份插件,我们只要将插件自动定时发送到邮箱的email附件上传到dropbox帐户就可以了。Send to Dropbox程序就是一款这样的非常好的dropbox app应用程序。
登陆Dropbox帐户后访问,允许send to dropbox访问dropbox帐户,通过后在dropbox帐户my app中会多出一个send to dropbox。同时sendtodropbox.com会给你提供一个***@sendtodropbox.com的email邮箱地址。这个app通过这个唯一的email ID发送附件。
The app‘Send To Dropbox’ would like to connect with your Dropbox.
• Please make sure you trust this app before proceeding.
• You can always remove this app by visiting the Apps page.
• You‘re currently logged in as****@gmail.com. If you meant to connect。
TAG:WordPress
如果自动接收wordpress数据库备份文件的是Gmail邮箱,在Gmail邮箱中就可以在过滤器中将所有带有附件的邮件转发到以上这个地址。Gmail自动转发需要验证因此还要进行一些操作dropbox才能顺利收到作为email附件的备份插件。下面是几个操作步骤:
1.创建Gmail过滤器:进入接收数据库备份文件的Google gmail邮箱,创建一个接收邮件过滤器filter:点击右上方的settings-》-filters》create filters-》输入过滤条件:
2.添加转发地址:
3.验证转发地址,将最开始sendtodropbox.com给的email地址加入验证。
4.点击下一步,一般几分钟之内,你的Dropbox帐户就会收到一个包含gmail发送的转发email地址验证码的txt文件了。需要注意的是在点击下一步,
必须在send to dropbox设置中勾选include html copy或include text copy选项,否则是收不到验证码txt文档的。
另外一个需要注意的是在gmail常规设置镇南关,需要Gmail界面语言改为English,否则收到的只是乱码字符的txt文件(以上中文界面图片只作参考)。
5.在Gmail中输入txt文档中的验证码。
6.在过滤器中添加转发email地址。
7.点击“create filter”。
WordPress后台设置转发到Dropbox
上面的步骤需要通过Gmail作为中介,更简单的方法是在wordpress管理后台,直接设置wp-db-backup备份插件选项。将定时备份邮箱设置为sendtodropbox给的唯一邮箱地址。
现在所有定时执行生成的wordpress备份文件都会自动发送到你的Dropbox账户中了,通过Dropbox自动同步到本地电脑,就啥事都不用做了。Wordpress备份插件(wp-db-backup)+Dropbox+SendtoDropbox(+Gmail)就是绝对的懒人超级组合了。




