WordPress — Как сделать перестановку изображений в php?

У меня есть этот код в моем шаблоне 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 не вариант.

Спасибо

1

Решение

Прежде всего, вы неправильно соединяете строки.

$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 ));

Но я бы не советовал

0

Другие решения

Вы избежали одиночной кавычки в начале определения ‘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);?>';"

0

По вопросам рекламы [email protected]