几年前,有人为我写了这篇文章末尾的两段代码。我目前正在尝试修改它们,但在一个小时的谷歌搜索和反复破坏Wordpress之后,我运气不太好。
现在,第一个代码采用上载文件名。jpg,并将其更改为“上载文件名”,作为图像的alt和title标记。第二个代码添加rel="highslide"
和class="highslide"
到每个图像的链接。这是在Wordpress中插入图像时输出的内容:
<a class="highslide" href="http://domain.com/wp/uploads/0215/the-name-of-the-file.jpg" rel="highslide"><img class=" alignright" title="the name of the file" src="http://domain.com/wp/uploads/0215/the-name-of-the-file-217x200.jpg" alt="the name of the file" width="217" height="200" /></a>
我要做的是将图像的alt和title标记中每个单词的第一个字母大写,以便输出到“文件名”
对于HTML链接,我还想移动class="highslide"
直到最后,以便按照href
, rel
, 然后class
. 即使在切换代码片段时,我也不知道如何更改任何东西的顺序。我知道重新排序听起来很挑剔,但我和我的编剧们做了很多手动HTML编辑,这种顺序是我们在Wordpress中习惯的。
对于图像HTML,我想按照src
, height
, width
, alt
, title
, 然后class
.
我希望其他人也能使用这些很酷的代码!非常感谢。
/** USE FILENAME FOR ALT AND TITLE TAGS WHEN INSERTING */
function wpse_120228_seomadness($html, $id, $caption, $title, $align, $url, $size, $alt) {
$alttitle = str_replace(\'-\', \' \', $alt);
$img = get_image_tag($id, $alttitle, $alttitle, $align, $size);
$html = \'<a href="\' . esc_attr($url) . \'">\' . $img . \'</a>\';
return $html;
}
add_filter( \'image_send_to_editor\', \'wpse_120228_seomadness\', 10, 9 );
/** ADD HIGHSLIDE CLASSES TO HYPERLINKED IMAGES */
function add_highslide_attr( $html ) {
preg_match_all(\'/(<a[^>]*>)(.*)/i\', $html, $result);
if( !isset($result) || !isset($result[1][0]) || ! $result[1][0] )
return $html;
$anchor = $result[1][0];
if( strstr($anchor, \'rel=\') )
$anchor = str_replace(\'rel="\', \'rel="highslide \', $anchor);
else
$anchor = str_replace(\'href=\', \'rel="highslide" href=\', $anchor);
if( strstr($anchor, \'class=\') )
$anchor = str_replace(\'class="\', \'class="highslide \', $anchor);
else
$anchor = str_replace(\'href=\', \'class="highslide" href=\', $anchor);
$html = $anchor . $result[2][0];
return $html;
}
add_filter( \'image_send_to_editor\', \'add_highslide_attr\', 10 );