Проверьте WordPress сообщение для конкретного тега HTML. Остальное показать миниатюру поста

Я предполагаю, что этот вопрос должен был быть задан здесь раньше, но я не мог найти тему, так что терпите меня.

Я пытаюсь выполнить оператор if / else в PHP, чтобы найти определенный тег HTML с определенным именем класса. Если этот HTML-тег найден, я хочу, чтобы он отображал HTML-тег, в противном случае, если он не найден, я хочу, чтобы он отображал миниатюру сообщения.

Все это нужно сделать в шаблоне WordPress (single.php).

Итак, у меня есть это:

if (strpos($post->post_content, ('img[.ngg_displayed_gallery]') === false)){
$gallery = false;
the_post_thumbnail('full');
echo do_shortcode('[shareaholic app="share_buttons" id="390155"]');
}
else{
echo ('img[.ngg_displayed_gallery]');
echo do_shortcode('[shareaholic app="share_buttons" id="390155"]');
}

Я почти уверен, что испортил этот код, поэтому, пожалуйста, помогите мне. Я очень плохо с PHP;)

Спасибо за помощь!
Редактировать:

Хорошо .. я постараюсь быть более ясным:
Когда кто-то редактирует пост WordPress и добавляет галерею Nextgen в редакторе контента, появляется эта HTML-строка:

<img class="ngg_displayed_gallery mceItem" src=“../nextgen-attach_to_post/preview/id--1443" alt="" data-mce-placeholder="1" />

Так что в основном я хочу закодировать что-то вроде этого: Когда эта строка HTML IMG появляется в поле контента, покажите, что INSTEAD миниатюры записи (рекомендуемое изображение). Если эта строка HTML IMG НЕ находится в поле контента, покажите миниатюру записи. (популярное изображение).

1

Решение

Из того, что я понимаю из вопроса, вам нужно найти HTML-тег в содержимом строки, которую вы используете strpos(), Я хочу, чтобы вы знали, что это плохая практика и вместо этого следует использовать альтернативу, однако, вот пример.

// First we must get the HTML formated content.
$content = apply_filters ("the_content", $post->post_content);

// We then must indentifie the needle in the heystack (content)
$needle = 'ngg_displayed_gallery';

if (strpos($content, $needle) === false)){
$gallery = false;
// No, there's no gallery present
echo "NO, gallery not found";
} else {
// Yes there is an gallery present
echo "YES, gallery found";
}

Q1. Почему это плохая практика?

Мы можем найти идентификатор галереи / изображения надежность, как каждый <img class='ngg_displayed_gallery'..> отличается в src, id и возможно class

1

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

Других решений пока нет …

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