2014-10-08 1 views
0

Это вопрос, который больше о коде наилучшей практики:Получить название категории в WordPress - эффективный или «плохой» код?

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

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

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

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

ответ

0

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

я вижу. Чем вы за свой ответ @typeoneerror. Поэтому неплохо попытаться получить доступ к элементу в массиве, прежде чем узнать, есть ли в нем какой-либо элемент. Это имеет смысл! – paramir

Смежные вопросы