Wordpress 帖子显示以下图像结果。
<img class="large alignnone size-full wp-image-8" src="http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall.jpg" alt="" width="960" height="654" srcset="http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall.jpg 960w, http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall-300x204.jpg 300w, http://localhost/blog/wp-content/uploads/2017/04/t-radio-city-music-hall-768x523.jpg 768w" sizes="(max-width: 960px) 100vw, 960px">
如何更改这些输出如下?
最终结果应具有属性:数据原始、类、宽度、高度。
需要 WordPress 查询。
请不要使用 jQuery。
WordPress 有一个内置的钩子来修改或更改图像 HTML
。wp_get_attachment_image_attributes
这是代码:
function wh_alter_attachment_image($attr)
{
if (isset($attr['srcset']))
unset($attr['srcset']);
if (isset($attr['src']))
{
$attr['data-original'] = $attr['src'];
unset($attr['src']);
}
return $attr;
}
add_filter('wp_get_attachment_image_attributes', 'wh_alter_attachment_image');
functions.php
文件中。或者也可以在任何插件 php 文件中。希望这有帮助!
// Função para adicionar atributos de imagem automaticamente a partir do nome do arquivo de imagem
function abl_mc_auto_image_attributes($post_ID) {
// Verifica se o post é um attachment
if (get_post_type($post_ID) !== 'attachment') {
return;
}
// Pega o post do attachment
$attachment = get_post($post_ID);
// Pega o título do attachment e faz alterações necessárias
$attachment_title = $attachment->post_title;
$attachment_title = str_replace('-', ' ', $attachment_title); // Remoção de hífen
$attachment_title = ucfirst($attachment_title); // Capitaliza a primeira letra da primeira palavra
// Cria o array com os novos dados do attachment
$uploaded_image = array(
'ID' => $post_ID,
'post_title' => $attachment_title, // Título da imagem
//'post_excerpt' => $attachment_title, // Legenda da imagem
//'post_content' => $attachment_title // Descrição da imagem
);
// Remove o action para evitar loop infinito
remove_action('add_attachment', 'abl_mc_auto_image_attributes');
// Atualiza o post do attachment
wp_update_post($uploaded_image);
// Atualiza o texto alternativo da imagem
update_post_meta($post_ID, '_wp_attachment_image_alt', $attachment_title);
// Adiciona o action novamente
add_action('add_attachment', 'abl_mc_auto_image_attributes');
}
add_action('add_attachment', 'abl_mc_auto_image_attributes');