Иногда возникает необходимость проверить, имеется ли в записи хотя бы одно изображение. В зависимости от этого можно выполнить тот или иной код, внедрить какое-либо усовершенствование своего блога, словом — добавить ресурсу большую привлекательность и повысить удобство использования. Как осуществить указанную проверку? Очень просто. С помощью следующего сниппета:
<?php $content = $post->post_content; $searchimages = '~<img [^>]* />~'; preg_match_all( $searchimages, $content, $pics ); $iNumberOfPics = count($pics[0]); if ( $iNumberOfPics > 0 ) { } ?>
Давайте разберемся, что на практике делает этот код. С помощью строки
preg_match_all( $searchimages, $content, $pics );
мы производим захват всех изображений, расположенных в контенте записи, после чего сохраняем результат в переменную $pics.
Далее мы смотрим, есть ли у нас хотя бы одно изображение в этой переменной:
$iNumberOfPics = count($pics[0]);
Ну и, наконец, здесь мы определяем код, который будет выполняться, если наше условие верно, т.е. в теле записи содержится как минимум одно изображение:
if ( $iNumberOfPics > 0 ) { }
Простой, но в то же время очень полезный сниппет, позволяющий применить какое-либо определенное условие к записям с изображениями.
По метариалам wpforce.com.