Получить название категории в WordPress - эффективный или "плохой" код?
Это вопрос, который больше напоминает лучшие примеры кода:
$cat_name = get_the_category()[0]->name;
Вместо того, чтобы делать это с несколькими варами, в несколько шагов:
$cat = get_the_category();
$cat_name = $cat[0]->name;
Это считается плохой практикой? или это в любом случае проблематично? если да, то почему? Опять же, мой вопрос касается кода, а не результата.
Я бы сказал, что это зависит от того, установлен ли PHP для отображения уведомлений, и не заботитесь о неопределенных уведомлениях о смещении. Вот вопрос (ИМО). Проверьте начало функции:
function get_the_category( $id = false ) {
$categories = get_the_terms( $id, 'category' );
if ( ! $categories || is_wp_error( $categories ) )
$categories = array();
Вы можете видеть, что если нет категорий или ошибка "происходит", метод возвращает пустой массив. Выполнение быстрого теста...
<?php
$categories = array();
echo $categories[0]->name;
Мы получаем
Notice: Undefined offset: 0 in test.php on line 5
Notice: Trying to get property of non-object in test.php on line 5
См. Проблему?
Вероятно, лучше всего:
$cat = get_the_category();
if ($cat)
{
$cat_name = $cat[0]->name;
}