重命名包含重音法语字符的现有旧上载图像(不在上载过程中)

时间:2017-02-01 作者:Robert Sinclair

需要更新1000多个包含法语字符的图像。

以下人员为测试岗位工作:

创建了一个没有FR字符的图像副本,更新了日志正文中的文件名,使用wp_update_post (WP功能)

  • 使用更新的“附件元数据”wp_update_attachment_metadata (WP功能)
  • 使用更新了“附件”update_attached_file (WP功能)
  • 看起来我可以跳过:

    更新了“附件元数据”,使用wp_update_attachment_metadata (WP功能)

  • 使用更新了“附件”update_attached_file (WP函数)
  • ,只需更改帖子内容,使其使用以下代码引用新图像:

    // Array used to update the post
    $my_post = array(
      \'ID\' => $post_ID,
      \'post_content\' => $content_with_updated_file_name
    );
    
    // Update post content using the array above
    wp_update_post( $my_post, true );
    if (is_wp_error($post_ID)) {
        $errors = $post_ID->get_error_messages();
        foreach ($errors as $error) {
            echo $error;
        }
    }
    
    这是正确的方法吗?还是我应该不断更新我要重命名的每个图像的“附件元数据”和“附件文件”?

    3 个回复
    SO网友:Alexander Holsgrove

    我假设您使用了一个脚本来重命名1000多个图像,因此您可能可以将相同的规则应用于wp_postmetawp_posts 使用正则表达式或一系列REPLACE() 声明。

    您可以在phpMyAdmin中使用SQL GUI工具或使用WP CLI

    避免了Wordpress函数的混乱。

    SO网友:Quasel

    好吧,这一切都取决于您的用例-可以使用regex进行批量重命名吗?然后将相同的正则表达式应用于数据库,例如使用http://wp-cli.org/commands/search-replace/

    如果需要手动执行,请查看https://wordpress.org/plugins/media-file-renamer/

    祝你好运

    SO网友:ZecKa

    其他解决方案可以使用此插件:Phoenix Media Rename (警告,它不适用于wpml)

    此插件不允许执行批量操作来缓冲所有文件。

    但有一个技巧你可以做到:

    安装并激活插件后,转到媒体库,在;“列表”;模式并显示每页999个项目打开javascript控制台粘贴a;“缓动”;控制台中的函数,例如this file (slugifyjs)jQuery(\'.phoenix-media-rename input\').each(function($){ let filename = $(this).val(); filename = slugify(filename).toLowerCase() $(this).val(filename) }) <最后选中所有复选框并选择;重命名(&Q);在批量操作下拉列表中,单击应用,等待所有介质显示复选标记。注意:此操作可能返回类型为;PHP致命错误:允许的内存大小"E;。如果是这种情况,请尝试使用web主机查看是否可以暂时增加分配给PHP的内存

    相关推荐

    无法在模板函数.php中使用IS_HOME

    我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请