将附件标题复制到描述和替代文本

时间:2013-11-14 作者:S..

我有一个博客,上面有很多(超过1000)张图片。每个图像都有一个有意义的描述性文件名。Wordpress具有图像标题和描述字段。批处理所有图像并将文件名复制到title alt description和caption字段的最简单方法是什么。此外,如果我可以更新yoast搜索引擎优化领域太好了。

3 个回复
SO网友:eskimo

您可以进行查询以循环所有附件,然后更新while循环中每个附件的附件信息。

类似于

$args = array(
   \'post_type\' => \'attachments\',
   \'post_status\' => \'any\',
   \'posts_per_page\' => -1,
)

$query = new WP_Query($args)

if($query->have_posts()): 
while($query->have_posts()): $query->the_post();

// 1. Get the attachment filename here and store it in a variable eg. $filename. See comment at the end of this answer

// 2. Update the post title
$attachment_post = array(
   \'ID\' => get_the_id();
   \'post_title\' => $filename
)
wp_update_post($attachment_post);

endwhile; wp_reset_postdata(); endif;
对如何获取附件文件名进行了快速搜索,但找不到,但这应该可以帮助您开始。在循环中,您还应该能够更新描述。你可以看看wp_update_attachment_metadata 和als检查this post (与文件名相关)。

SO网友:S..

最后,我编写了一个php文件来快速解决这个问题。

$s_query = "SELECT ID, post_title FROM `wp_posts` WHERE NOT post_content <=> post_title AND post_type=\'attachment\'";
    $r_result = mysql_query($s_query);

    if($r_result)
    {
        while($row = mysql_fetch_row($r_result)){
            $s_update_query = \'UPDATE `wp_posts` SET post_content="\'.$row[1].\'", post_excerpt="\'.$row[1].\'" WHERE ID="\'.$row[0].\'"\';
            mysql_query($s_update_query);
        }
    }

SO网友:Gabriel Castillo

嗯,我使用的是lightbox gallery,我需要将图片的帖子标题作为alt文本。

我所做的是在数据库上创建一个查询,以更新post\\u摘录以匹配帖子标题。

UPDATE wp_posts SET `post_excerpt` = `post_title` WHERE post_type = \'attachment\'
这似乎对我和灯箱画廊都有用。

结束

相关推荐

Link post images to post

出于某种原因,我找不到任何好的方法来将帖子图像链接到帖子。我在上找到一个脚本http://wpguy.com/plugins/linked-image/ 它可以工作,但不会删除旧链接,而是将旧链接和图像包装在新的a标记中。我想要的是删除旧链接,这样图像只包装在一个a标记中。这是我目前拥有的脚本:function wpguy_linked_image($content){ $searchfor = \'/(<img[^>]*\\/>)/\'; $r