php - wp插入附件太慢
问题描述
我有 12,000 个帖子,我需要为它们生成缩略图。图像已经在“上传”文件夹中。问题是即使这样,这个过程也很慢。此功能耗时过长。我能做些什么来让它更快吗?
function Generate_Featured_Image( $code_url, $post_id, $video_id){
$upload_dir = wp_upload_dir();
$path = $upload_dir['basedir'] . "/save/{$video_id}/";
for($i = 6; $i >= 1; $i-- ){
$filename = $i.'.jpg';
if(wp_mkdir_p($path)) $file = $upload_dir['basedir'] . "/save/{$video_id}/" . $filename;
}
$wp_filetype = wp_check_filetype($filename, null );
$attachment = array(
'post_mime_type' => $wp_filetype['type'],
'post_title' => sanitize_file_name($filename),
'post_content' => '',
'post_status' => 'inherit'
);
$attach_id = wp_insert_attachment( $attachment, $file, $post_id );
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_data = wp_generate_attachment_metadata( $attach_id, $file );
$res1= wp_update_attachment_metadata( $attach_id, $attach_data );
$res2= set_post_thumbnail( $post_id, $attach_id );
}
解决方案
你有缓存插件和延迟加载插件吗?如果您安装 jetpack(它是免费的),您将拥有一个免费的 CDN。所以要点是:1-如果没有安装缓存插件 2-如果没有安装延迟加载 3-如果没有安装 jetpack(它是免费的)有免费 CDN
CDN 加速网站
推荐阅读
- database - XML 属性的 DB2 查询产生:“错误 QName=err:XPTY0019”
- c# - WinForm中DataGridView不刷新
- java - java.lang.NoClassDefFoundError: com/sun/jersey/spi/inject/Errors$Closure 原因?
- c# - WCF 连接的服务 ServicePointManager.ServerCertificateValidationCallback 未执行
- oracle - 无法在 oracle 的 where 子句中添加 case 条件
- azure - Azure 文件的权限
- javascript - Blazor,从 Javascript 创建的 DOM 元素中获取输入值
- android - Offscreenpagelimit 与 setItemViewCacheSize ViewPager2
- shell - 如何使用 cmp 命令计算百分比差异
- android - 如何使用带有会话建立的颤振登录和注册 Rest API