Intereting Posts
Как сначала показать должности какой-то категории, а затем остальные? Не могу определить кодировку WordPress показывает только после входа Чистая установка – изменение постоянных ссылок в двадцать четыре дает 404 Лучший способ удалить WordPress Meta Box на основе состояния сообщения получение прикрепленных изображений src и добавление классов Пользовательский запрос в верхней части страницы поиска архива, аргументы переопределены Автоматически добавлять надпись на изображении Какие действия влияют на файлы, DB или оба? Может ли плагин электронной коммерции WP поддерживать большое количество продуктов? Поместите несколько пользовательских циклов на одну страницу Неустранимая ошибка: вызов неопределенного метода stdClass :: filter () в wp-include \ taxonomy.php в строке 805 Поле описания категории как редактор удалить тег <p> Кнопка wp_editor не добавлена Добавить кнопки входа и выхода в верхнюю строку меню Срок начинается с буквы

Вызов функции-члена has_posts () для не-объекта в нормальном цикле

<?php defined( 'ABSPATH' ) or die( 'No script kiddies please!' ); define( 'MY_PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); define( 'MY_PLUGIN_URL', plugin_dir_url( __FILE__ ) ); register_activation_hook(__FILE__,'my_plugin_install'); register_deactivation_hook( __FILE__, 'my_plugin_remove' ); function my_plugin_install() { global $wpdb; $the_page_title = 'TEST'; $the_page_name = 'test'; delete_option("my_plugin_page_title"); add_option("my_plugin_page_title", $the_page_title, '', 'yes'); delete_option("my_plugin_page_name"); add_option("my_plugin_page_name", $the_page_name, '', 'yes'); delete_option("my_plugin_page_id"); add_option("my_plugin_page_id", '0', '', 'yes'); $the_page = get_page_by_title( $the_page_title ); if ( ! $the_page ) { $_p = array(); $_p['post_title'] = $the_page_title; $_p['post_content'] = ""; $_p['post_status'] = 'publish'; $_p['post_type'] = 'page'; $_p['comment_status'] = 'closed'; $_p['ping_status'] = 'closed'; $_p['post_category'] = array(1); $the_page_id = wp_insert_post( $_p ); } else { $the_page_id = $the_page->ID; $the_page->post_status = 'publish'; $the_page_id = wp_update_post( $the_page ); } delete_option( 'my_plugin_page_id' ); add_option( 'my_plugin_page_id', $the_page_id ); } function my_plugin_remove() { global $wpdb; $the_page_title = get_option("my_plugin_page_title"); $the_page_name = get_option("my_plugin_page_name"); $the_page_id = get_option('my_plugin_page_id'); if( $the_page_id ){wp_delete_post( $the_page_id );} delete_option("my_plugin_page_title"); delete_option("my_plugin_page_name"); delete_option("my_plugin_page_id"); } function custom_template($template){ $template = plugin_dir_path( __FILE__ ) . 'my-custom-page.php'; return $template; } if ( !is_admin() ) { if ( have_posts() ) { while ( have_posts() ) { the_post(); if(get_the_ID() == get_option('my_plugin_page_id')){ add_filter( 'template_include', 'custom_template' ); } } } } ?> 

Это ошибка, данная кодом:

 Fatal error: Call to a member function have_posts() on a non-object in /var/www/html/wordpress/wp-includes/query.php on line 782 

my-custom-page.php – это базовая страница с HTML и CSS .

Часть создания страницы в порядке, из-за части !is_admin() , нет ошибки, пока я на панели администрирования.

Любой намек на проблему? Благодаря 🙂

PS Установка wordpress – это база 4.4.2 без изменений (без новых страниц, другой темы, ecc …)