Каким кодом в шаблоне content-single.php
выводятся рубрики и метки?
<?php
$categories_list = get_the_category_list( ' ', 'multiple' );
$custom_categories_list = get_the_term_list( $post->ID, array( 'wp_categories', 'library_categories' ), '', ', ' );
$tags_list = get_the_tag_list( '', ', ' );
$tags_list_wp = get_the_term_list( $post->ID, 'wp_tags', '', ', ' );
$tags_list_lib = get_the_term_list( $post->ID, 'library_tags', '', ', ' );
$series_list = get_the_term_list( $post->ID, 'series', '', ', ' );
if ( $categories_list) { echo '<span><strong>' . __('In category: ', 'natali') . '</strong>' . $categories_list . '</span><br/>'; }
if ( $custom_categories_list ) { echo '<span><strong>' . __('In category: ', 'natali') . '</strong>' . $custom_categories_list . '</span><br/>'; }
if ( $tags_list ) { echo '<strong>' . __('Tagged: ', 'natali') . '</strong>' . $tags_list . '<br/>'; }
if ( $tags_list_wp ) { echo '<strong>' . __('Tagged: ', 'natali') . '</strong>' . $tags_list_wp . '<br/>'; }
if ( $tags_list_lib ) { echo '<strong>' . __('Tagged: ', 'natali') . '</strong>' . $tags_list_lib . '<br/>'; }
if ( $series_list ) { echo '<strong>' . __('Series: ', 'natali') . '</strong>' . $series_list; }
?>
На текущий момент в записях произвольного типа вместо этого отображается:
Warning: Illegal offset type in isset or empty in /home/.../wp-includes/taxonomy.php on line 258
Catchable fatal error: Object of class WP_Error could not be converted to string in /home/.../wp-content/themes/natali/content-single.php on line 71
258-я строка файла taxonomy.php:
return isset( $wp_taxonomies[$taxonomy] );
71-я строка файла content-single.php:
if ( $custom_categories_list ) { echo '<span><strong>' . __('In category: ', 'natali') . '</strong>' . $custom_categories_list . '</span><br/>'; }
из вышеприведённого кода.
Ошибка в этой строке:
$custom_categories_list = get_the_term_list( $post->ID, array( 'wp_categories', 'library_categories' ), '', ', ' );
Второй аргумент get_the_term_list() должен быть строкой, а не массивом.
А почему раньше работало?
Разбила переменную на две отдельных и, соответственно добавила вторую строку на вывод. Всё заработало, все предупреждения исчезли. Большое Вам спасибо. Можно задать второй вопрос, сходный по теме, или лучше сделать это отдельно?
или лучше сделать это отдельно?
Лучше отдельно — правила форума, п2.