meekes
@meekes
Стажер

Как выдать другое значение в PHP, если переменная не найдена?

Написал функцию для вывода дескрипшена из таблицы БД. Сайт на вордпресс.

function decr_func( $atts ){
$zag = wp_get_document_title();    
$zatxt = "текст" ; 
global $post;
$post_slug = $post->post_name;
global $wpdb;
$decr = $wpdb->get_var($wpdb->prepare(
"SELECT tabled FROM s WHERE url = %s", $post_slug));
$descrhome = $wpdb->get_var($wpdb->prepare(
"SELECT tabled FROM s WHERE wdt_id = 1" ));
if(isset($decr))
return apply_filters('the_content', $decr);
if( is_front_page() )
return apply_filters('the_content', $descrhome);
else
echo $zag,'. ', $zatxt;
}


На всех страница все работает как надо, но на странице 404 выводит ошибку
Notice: Trying to get property 'post_name' of non-object in

Я так понимаю, страница не находит переменную post_slug, как можно дописать код чтобы не выдавало ошибку, а просто текст. Конечно можно задать статический хедер, но хочется найти решение именно изменив функцию.
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ответы на вопрос 1
irishmann
@irishmann
Научись пользоваться дебаггером
$post_slug = $post->post_name ?? 'свой текст';
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы