Получить название категории в WordPress - эффективный или "плохой" код?

92
6

Это вопрос, который больше напоминает лучшие примеры кода:

$cat_name = get_the_category()[0]->name;

Вместо того, чтобы делать это с несколькими варами, в несколько шагов:

$cat = get_the_category();
$cat_name = $cat[0]->name;

Это считается плохой практикой? или это в любом случае проблематично? если да, то почему? Опять же, мой вопрос касается кода, а не результата.

спросил(а) 2014-10-08T20:57:00+04:00 6 лет, 1 месяц назад
1
Решение
58

Я бы сказал, что это зависит от того, установлен ли 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;
}

ответил(а) 2014-10-08T21:06:00+04:00 6 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема