WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

the_meta() WP 1.2.0

Выводит произвольные поля записи (метаданные из wp_postmeta). Поля выводятся в списке <li>. Скрытые поля игнорируются.

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

Функция должна использоваться внутри Цикла WordPress или в файле single.php - там где есть данные записи.

Скрытые поля — произвольные поля (названия полей) начинающиеся с нижнего подчеркивания _ игнорируются (в списке не попадают). Такая маркировка используются WordPress для системных метаполей.

Работает на основе: get_post_custom_keys()
1 раз — 0.001464 сек (очень медленно) | 50000 раз — 2.87 сек (быстро) | PHP 7.1.2, WP 4.7.3
Хуки из функции

Возвращает

null.

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

<?php the_meta(); ?>

Примеры

#1. Выведем метаданные поста

Для этого разместим следующий код в файле single.php после тега шаблона (функции) the_content():

<p>Мета информация о текущем посте:</p>
<?php the_meta(); ?>

Этот код выведет следующие

<p>Мета информация о текущем посте:</p>
<ul class='post-meta'>
	<li><span class='post-meta-key'>название ключа:</span> значение поля</li>
</ul>

Список изменений

С версии 1.2.0 Введена.

Код the_meta() WP 5.8.2

function the_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(
				"<li><span class='post-meta-key'>%s</span> %s</li>\n",
				/* translators: %s: Post custom field name. */
				sprintf( _x( '%s:', 'Post custom field name' ), $key ),
				$value
			);

			/**
			 * Filters the HTML output of the li element in the post custom fields list.
			 *
			 * @since 2.2.0
			 *
			 * @param string $html  The HTML output for the li element.
			 * @param string $key   Meta key.
			 * @param string $value Meta value.
			 */
			$li_html .= apply_filters( 'the_meta_key', $html, $key, $value );
		}

		if ( $li_html ) {
			echo "<ul class='post-meta'>\n{$li_html}</ul>\n";
		}
	}
}

metadata (метаданные)

Записи: посты, страницы, ...

10 комментов
    Войти