В чем разница между the_meta() и get_post_meta() WordPress

# Функция the_meta() в WordPress

## Введение
Функция the_meta() была добавлена в версии 1.2.0 WordPress, но с версии 6.0.2 она считается устаревшей. Это означает, что она больше не поддерживается и в будущем может быть удалена. Вместо неё рекомендуется использовать get_post_meta(), чтобы получать метаданные поста и отображать их самостоятельно.

## Что такое метаданные поста?
Метаданные поста — это дополнительная информация, связанная с постом. Например, это могут быть свойства, которые вы добавили к записи, такие как автор, дата публикации или особые теги.

## Как работает the_meta()
Функция the_meta() выводит список пользовательских полей поста. Она использует внутренние функции WordPress, такие как get_post_custom_keys(), чтобы получить ключи пользовательских полей.

### Пример использования функции
Чтобы использовать the_meta(), вставьте следующий код в файл single.php вашей темы сразу после вызова функции the_content():

```php

Информация о текущем посте:

Этот код выведет информацию о посте в следующем формате:

Информация о текущем посте:

Частота использования и производительность

Функция the_meta() работает медленно при большом количестве данных:

  • 1 раз — 0.001464 с (очень медленно)
  • 50,000 раз — 2.87 с (быстро)

Так что, если у вас много постов, лучше использовать более быстрые методы, такие как get_post_meta().

Возвращаемое значение

Функция the_meta() не возвращает никаких данных (null).

Как выглядит код функции

Вот как выглядит код функции the_meta() в файле wp-includes/post-template.php:

function the_meta() {
_deprecated_function( FUNCTION, '6.0.2', 'get_post_meta()' );
$keys = get_post_custom_keys();
if ( $keys ) {
$li_html = '';
foreach ( (array) $keys as $key ) {
$keyt = trim( $key );
if ( is_protected_meta( $keyt, 'post' ) ) {
continue;
}

        $values = array_map( 'trim', get_post_custom_values( $key ) );
        $value  = implode( ', ', $values );

        $html = sprintf(
            "
  • %s
  • n", esc_html( sprintf( _x( '%s:', 'Имя пользовательского поля поста' ), $key ) ), esc_html( $value ) ); $li_html .= apply_filters( 'the_meta_key', $html, $key, $value ); } if ( $li_html ) { echo "n"; } }

    }

    Заключение

    Функция the_meta() больше не рекомендуется к использованию из-за устаревания. Лучше использовать get_post_meta(), чтобы получить значения метаданных поста. Это поможет улучшить производительность вашего сайта и обеспечить его стабильность в будущем.

    Leave a Reply

    Ваш адрес email не будет опубликован. Обязательные поля помечены *