has_shortcode()

Определяет, содержит ли переданный контент указанный шорткод
Функция WordPress
INT 3.6.0
WordPress Icon

Описание функции

Функция has_shortcode() используется для определения, содержит ли переданный контент указанный шорткод. Шорткод — это специальная конструкция в WordPress, которая позволяет вставлять динамические элементы или функциональность на страницы или записи с помощью короткого кода.

Эта функция проверяет, содержит ли переданный контент указанный шорткод, и возвращает логическое значение true, если шорткод найден, и false, если шорткод не найден.

Использование

has_shortcode( string $content, string $tag ): bool

Функция has_shortcode() принимает два обязательных параметра: $content и $tag. Параметр $content представляет собой контент, в котором нужно искать шорткод, а параметр $tag — это тег шорткода, который нужно проверить.

  • $content (string) — Обязательный. Контент, в котором нужно искать шорткод.
  • $tag (string) — Обязательный. Тег шорткода, который нужно проверить.

Функция has_shortcode() возвращает логическое значение (bool). Если переданный контент содержит указанный шорткод, то функция вернет true. Если шорткод не найден, то функция вернет false.

<?php
// Проверяем, содержит ли контент шорткод [my_shortcode]
if ( has_shortcode( $content, 'my_shortcode' ) ) {
    // Контент содержит шорткод [my_shortcode]
    echo 'Контент содержит шорткод [my_shortcode]';
} else {
    // Контент не содержит шорткод [my_shortcode]
    echo 'Контент не содержит шорткод [my_shortcode]';
}
?>

В приведенном примере мы используем функцию has_shortcode() для проверки, содержит ли переменная $content шорткод с тегом my_shortcode. Если шорткод найден, то выводится сообщение «Контент содержит шорткод [my_shortcode]», в противном случае выводится сообщение «Контент не содержит шорткод [my_shortcode]».

Примеры использования

Проверка наличия шорткода в контенте


/**
 * Проверяет, содержит ли переданный контент указанный шорткод.
 *
 * @param string $content Обязательно. Контент для поиска шорткодов.
 * @param string $tag Обязательно. Тег шорткода для проверки.
 * @return bool Возвращает true, если переданный контент содержит указанный шорткод, иначе false.
 */
function has_shortcode( $content, $tag ) {
    if ( false === strpos( $content, '[' ) ) {
        return false;
    }
    if ( shortcode_exists( $tag ) ) {
        preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER );
        if ( empty( $matches ) ) {
            return false;
        }
        foreach ( $matches as $shortcode ) {
            if ( $tag === $shortcode[2] ) {
                return true;
            }
        }
    }
    return false;
}

Определение типа шорткода


/**
 * Определяет тип указанного шорткода.
 *
 * @param string $tag Обязательно. Тег шорткода для проверки.
 * @return string|bool Возвращает тип шорткода, если он существует, иначе false.
 */
function get_shortcode_regex( $tag ) {
    global $shortcode_tags;
    if ( empty( $tag ) ) {
        return false;
    }
    return isset( $shortcode_tags[ $tag ] ) ? $shortcode_tags[ $tag ] : false;
}

Использование has_shortcode() в цикле


/**
 * Проверяет наличие шорткода в каждом элементе массива и выводит результат.
 *
 * @param array $content_array Обязательно. Массив с контентом для поиска шорткодов.
 * @param string $tag Обязательно. Тег шорткода для проверки.
 */
function check_shortcodes_in_array( $content_array, $tag ) {
    foreach ( $content_array as $content ) {
        if ( has_shortcode( $content, $tag ) ) {
            echo 'Шорткод [' . $tag . '] найден в контенте: ' . $content . '<br>';
        } else {
            echo 'Шорткод [' . $tag . '] не найден в контенте: ' . $content . '<br>';
        }
    }
}
// Пример использования
$content_array = array(
    '[gallery]',
    '[video]',
    '[audio]',
    'Текст без шорткода',
);
check_shortcodes_in_array( $content_array, 'video' );

Проверка наличия шорткода в заголовке


/**
 * Проверяет наличие шорткода в заголовке страницы.
 *
 * @param int $post_id Обязательно. Идентификатор страницы.
 * @param string $tag Обязательно. Тег шорткода для проверки.
 * @return bool Возвращает true, если указанный шорткод найден в заголовке страницы, иначе false.
 */
function has_shortcode_in_title( $post_id, $tag ) {
    $title = get_the_title( $post_id );
    return has_shortcode( $title, $tag );
}
// Пример использования
$post_id = 123;
$tag = 'gallery';
if ( has_shortcode_in_title( $post_id, $tag ) ) {
    echo 'Шорткод [' . $tag . '] найден в заголовке страницы.';
} else {
    echo 'Шорткод [' . $tag . '] не найден в заголовке страницы.';
}

Вопросы и ответы

Как проверить, содержит ли контент указанный шорткод?

Функция has_shortcode() в WordPress позволяет определить, содержит ли переданный контент указанный шорткод. Она возвращает логическое значение true или false.

Как использовать функцию has_shortcode() для проверки наличия шорткода в контенте?

Для использования функции has_shortcode() необходимо передать два обязательных параметра: $content и $tag.

Параметр $content представляет собой контент, в котором нужно искать шорткод.

Параметр $tag представляет собой тег шорткода, который нужно проверить на наличие в контенте.

Пример использования функции has_shortcode():


$content = 'Пример [my_shortcode] шорткода';
$tag = 'my_shortcode';
if (has_shortcode($content, $tag)) {
    echo 'Контент содержит указанный шорткод';
} else {
    echo 'Контент не содержит указанный шорткод';
}

Как определить, содержит ли контент определенный шорткод?

Для определения наличия определенного шорткода в контенте, можно использовать функцию has_shortcode(). Она вернет логическое значение true, если указанный шорткод найден в контенте, и false в противном случае.

Пример использования функции has_shortcode() для определения наличия шорткода:


$content = get_the_content();
$tag = 'gallery';
if (has_shortcode($content, $tag)) {
    echo 'Контент содержит шорткод [gallery]';
} else {
    echo 'Контент не содержит шорткод [gallery]';
}

Как использовать has_shortcode() для проверки наличия шорткода в WordPress?

Функция has_shortcode() в WordPress используется для определения наличия указанного шорткода в переданном контенте.

Как проверить, содержит ли контент указанный шорткод в WordPress?

Для проверки наличия шорткода в контенте WordPress можно использовать функцию has_shortcode(). Она принимает два обязательных параметра: $content (строка) и $tag (строка).

Как использовать функцию has_shortcode() для проверки наличия шорткода в контенте WordPress?

Для использования функции has_shortcode() необходимо передать в нее контент, в котором нужно искать шорткод, и тег шорткода, который нужно проверить.

Пример использования функции has_shortcode():


$content = 'Пример [myshortcode] контента с шорткодом.';
$tag = 'myshortcode';
if ( has_shortcode( $content, $tag ) ) {
    echo 'Шорткод найден в контенте.';
} else {
    echo 'Шорткод не найден в контенте.';
}

В данном примере функция has_shortcode() проверяет, содержит ли переменная $content шорткод с тегом $tag. Если шорткод найден, выводится сообщение «Шорткод найден в контенте.», иначе выводится сообщение «Шорткод не найден в контенте.»

Как определить, содержит ли контент определенный шорткод в WordPress?

Функция has_shortcode() в WordPress позволяет определить, содержит ли переданный контент указанный шорткод. Это может быть полезно, если вам нужно выполнить определенные действия, если шорткод присутствует в контенте.

Как использовать has_shortcode() для проверки наличия шорткода в контенте WordPress?

Для использования функции has_shortcode() вам необходимо передать два обязательных параметра: контент, в котором нужно искать шорткод, и тег шорткода, который нужно проверить.

Пример использования функции has_shortcode():


if ( has_shortcode( $content, $tag ) ) {
    // Выполнить определенные действия, если шорткод присутствует в контенте
}

Как проверить, содержит ли контент указанный шорткод в WordPress?

Функция has_shortcode() возвращает логическое значение true, если переданный контент содержит указанный шорткод, и false, если шорткод отсутствует.

Пример использования функции has_shortcode() для проверки наличия шорткода в контенте:


if ( has_shortcode( $content, 'shortcode_tag' ) ) {
    // Шорткод 'shortcode_tag' присутствует в контенте
} else {
    // Шорткод 'shortcode_tag' отсутствует в контенте
}

Функция has_shortcode() в WordPress позволяет определить, содержит ли переданный контент указанный шорткод. Она полезна для выполнения определенных действий, если шорткод присутствует в контенте. Используйте has_shortcode() для проверки наличия шорткода в контенте и выполнения соответствующих действий в зависимости от результата.

Связанные элементы

  • Функция add_shortcode(): регистрирует новый шорткод.
  • Функция remove_shortcode(): удаляет зарегистрированный шорткод.
  • Функция shortcode_atts(): объединяет атрибуты шорткода с значениями по умолчанию.
  • Функция do_shortcode(): выполняет шорткоды в заданном контенте.
  • Функция get_shortcode_regex(): возвращает регулярное выражение для поиска шорткодов.
  • Функция shortcode_parse_atts(): разбирает строку атрибутов шорткода в ассоциативный массив.
  • Хук do_shortcode_tag: позволяет изменять вывод шорткода перед его отображением.
Обсуждение