Привет, новый и счастливый новый год.Wordpress is_single вызов из конструктора класса плагинов
В последнее время я работаю над плагином, и я застрял на этапе создания экземпляра класса плагина.
Вот что я получил в главном файле:
<?php
class Filter_Content {
public function __construct() {
if(!is_front_page() && !is_home() && !is_single()) return;
if(!is_singular(array('post','page'))) return;
add_filter('the_content', array(&$this, 'manage_page_content'));
}
public function manage_page_content($content) {
global $post;
$content_enabled = get_post_meta($post->ID, 'post_content_enabled', true);
if(!$content_enabled) {
$content = '';
}
return $content;
}
}
$filtercontent = new Filter_Content();
?>
Однако когда на метод конструктора is_single() или is_home() называются они не работают, , когда я двигаюсь, если заявления в метод, который они работают нормально. Причина, по которой я должен переместить инструкции if в конструктор, заключается в том, что будет больше методов, которые будут использовать эти утверждения.
Что вы имеете в виду, они «не работают»? Что это делает, что составляет нерабочее состояние? Вы получаете ошибки? Можете ли вы показать нам ошибки? – maiorano84
Hi maiorano84, под этим я имею в виду, что ошибки не было, даже подсказки. У меня ошибка отладки wp-config.php true. Поэтому, не работая, я имею в виду, что пока я нахожусь на одном посту, он не возвращает истинное значение всегда ложным. – mentorgashi
Это может быть проблема с порядком операций. Плагины настроены до большинства остальных, и глобальный объект '$ wp_query', возможно, не был создан на этом этапе, чтобы вы имели смысл использовать' is_single() 'или' is_singular() '. Попробуйте создать экземпляр 'Filter_Content' в обратном вызове' init'. – maiorano84