Intereting Posts
Вопрос о подсчете CPT в таксономии Уведомление и предупреждение о массовых действиях WP_List_Table Как вручную привязывать сообщения друг к другу в WordPress Как управлять разрешением шаблона, если оба фильтра Author и Category на месте? Как вставить категорию и подкатегорию с помощью функции «wp_insert_post»? Получить пользовательские данные внутри настраиваемого плагина сборки Избранные сообщения для страниц категории Пользовательский тип сообщения и ошибка повторной регистрации таксономии Как показать один пост, отличный от остальных? Способ включения сообщений как с & без определенной meta_key в args для wp_query? Как получить все изображения и их миниатюры из wp media library Запросы, которые имеют пользовательскую таксономию разбиение на страницы данных с использованием SQL-запроса Как проверить категорию персонализированного типа сообщения или нет этикетки пользовательских таксономов на иврите

admin-ajax.php GET заголовки пользовательских сообщений

Я не могу получить заголовки своего пользовательского сообщения.

это то, что я делаю:

//IN functions.php function fluid_scripts() { wp_enqueue_script('lateral-fluid', get_template_directory_uri().'/js/lateral-fluid.js', array('jquery')); wp_localize_script( 'lateral-fluid', 'ajaxFluid', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ))); } add_action('init', 'create_post_type'); function create_post_type(){ resgister_post_type ( 'portfolio', array ( 'labels' => array( 'name' => __('beds'), 'singular_name' => __('bed') ), 'public' => true, 'has_archive' => true, ) ); } add_action( 'wp_ajax_nopriv_lateral_fluid', 'my_lateral_fluid' ); add_action( 'wp_ajax_lateral_fluid', 'my_lateral_fluid' ); function my_lateral_fluid() { //echo "test"; $args = array( "post_type" => "portfolio", "posts_per_page" => -1 ); $portfolio_query = new WP_Query($args); while($portfolio_query->have_post() ){ $portfolio_query->the_post(); echo "<li>" . get_the_title() . "</li>"; } wp_die(); } 

Я проверяю свой url admin-ajax.php своим действием: http: //localhost/wordpress/wp-admin/admin-ajax.php? Action = lateral_fluid , и он ничего не отображал. Если я раскомментирую // echo "test"; он отображает тест. Я уже добавляю 5 пользовательских сообщений с их названиями.

Почему я не получаю заголовки своего пользовательского сообщения (портфолио). Что мне не хватает?

Заранее спасибо

Solutions Collecting From Web of "admin-ajax.php GET заголовки пользовательских сообщений"

Сначала замените:

 resgister_post_type 

с:

 register_post_type 

для исправления опечатки.

Во-вторых, замените:

 while( $portfolio_query->have_post() ){ 

с

 while( $portfolio_query->have_posts() ){ 

где вы забыли множественное число.

Заметка

Причина, по которой вызывать несуществующие методы:

 $portfolio_query->some_non_existent_method() 

не вызывает ошибку PHP, является магическим методом WP_Query класса WP_Query :

 /** * Make private/protected methods readable for backwards compatibility. * * @since 4.0.0 * @access public * * @param callable $name Method to call. * @param array $arguments Arguments to pass when calling. * @return mixed|false Return value of the callback, false otherwise. */ public function __call( $name, $arguments ) { if ( in_array( $name, $this->compat_methods ) ) { return call_user_func_array( array( $this, $name ), $arguments ); } return false; } 

Без этого мы бы ожидали:

Неустранимая ошибка: вызов неопределенного метода WP_Query::some_non_existent_method()

Поэтому создание опечаток в WP_Query методов WP_Query может оказаться сложным для обнаружения.

Я думаю, что лучше было бы генерировать исключение вместо того, чтобы возвращать false для несовместимых методов:

 throw new Exception( sprintf( __( 'Call to undefined method WP_Query::%s' ), sanitize_key( $name ) ) );