У меня есть этот код в моем шаблоне WordPress
<a onclick="get_project_data(<?php echo get_the_ID(); ?>)"><img src="<?php echo wp_get_attachment_url( $logoimg_id ); ?>" onmouseover="this.src=\'<?php echo wp_get_attachment_url( $logoimg_id+b ); ?>';" onmouseout="this.src=\'<?php echo wp_get_attachment_url( $logoimg_id ); ?>';"/></a>
Но это не работает, мне нужно показать полноцветное изображение и черно-белое с включенным, дело в том, что мне нужно сделать это автоматически, поэтому я буду загружать на свой сервер photo.jpg и photob.jpg (черный и белый) CSS не вариант.
Спасибо
Прежде всего, вы неправильно соединяете строки.
$logoimg_id+'b' (notice the quotes)
Во-вторых, вам нужно добавить «b» перед расширением. Вы можете сделать это,
$imgPath = wp_get_attachment_url( $logoimg_id );
$tmp = explode('.', $imgPath);
$tmp[0].='b';
$imgPath = implode('.',$tmp);
Другим способом было бы сделать
echo str_replace('.jpg', 'b.jpg', wp_get_attachment_url( $logoimg_id ));
Но я бы не советовал
Вы избежали одиночной кавычки в начале определения ‘this.src’, но не в конце. побег не требуется.
например.
onmouseover="this.src=\'<php
echo wp_get_attachment_url($logoimg_id+b);?>';"
должно быть:
onmouseover="this.src='<php
echo wp_get_attachment_url($logoimg_id+b);?>';"