Intereting Posts
Как вернуть только определенные поля, используя get_posts () Главное меню и элементы подменю для нижнего колонтитула Как реализовать функциональность WP_List_Table для настраиваемых плагинов (или любую замену для плагина wp_list_table) для массового действия Загрузка файлов в меню плагина Показать сообщение в таблице front end Переопределить виджет в функции WordPress WP плагины для веб-каталога продукта Как отображать данные из пользовательской таблицы в базе данных WordPress? Перевести slug в WPMU с файлами PO Как переопределить механизм рендеринга категорий Добавить запись в качестве тега alt для показанного изображения Добавить тег сообщения без сообщения id Как предотвратить перенаправление на «О себе» после обновления ядра? Плагин доступен для обновления, когда его нет Используйте отдельную настраиваемую таблицу (не сообщения) для обработки данных загрузки файлов

AJAX с категориями фильтрации циклов

Я изучал, как сделать мой цикл с AJAX. Я нашел некоторые коды онлайн и изменил некоторые части, но я не могу заставить его работать.

Это мой код для цикла:

<article id="main" class="five seventh padded"> <?php $categories = get_categories(); ?> <ul id="category-menu"> <?php foreach ( $categories as $cat ) { ?> <li id="cat-<?php echo $cat->term_id; ?>"><a class="<?php echo $cat->slug; ?> ajax" onclick="cat_ajax_get('<?php echo $cat->term_id; ?>');" href="#"><?php echo $cat->name; ?></a></li> <?php } ?> </ul> <div id="loading-animation" style="display: none;"><img src="<?php echo admin_url ( 'images/loading-publish.gif' ); ?>"/></div> <div id="category-post-content"> <?php add_action( 'wp_ajax_nopriv_load-filter', 'prefix_load_cat_posts' ); add_action( 'wp_ajax_load-filter', 'prefix_load_cat_posts' ); function prefix_load_cat_posts () { $cat_id = $_POST[ 'cat' ]; $args = array ( 'cat' => $cat_id, 'posts_per_page' => 10, 'order' => 'DESC' ); $posts = get_posts( $args ); ob_start (); foreach ( $posts as $post ) { setup_post_data( $post ); ?> <article class="post"> <!-- Display the Title as a link to the Post's permalink. --> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. --> <div class="row pad-bottom"> <!-- Display a comma separated list of the Post's Categories. --> <small class="postmetadata pull-left"><?php the_category(', '); ?></small> <small class="date pull-left"> Posted by <?php the_author_posts_link() ?> on <?php the_time('F jS, Y') ?></small> </div> <!-- Display the Post's content in a div box. --> <article id="entry"> <?php the_content('Read More here...'); ?> </article> </article> <!-- closes the first div box --> <!-- Stop The Loop (but note the "else:" - see next line). --> <?php } wp_reset_postdata(); $response = ob_get_contents(); ob_end_clean(); echo $response; die(1); } ?> </div> <script> function cat_ajax_get(catID) { jQuery("a.ajax").removeClass("current"); jQuery("a.ajax").addClass("current"); //adds class current to the category menu item being displayed so you can style it with css jQuery("#loading-animation-2").show(); var ajaxurl = 'http://localhost/united/wp-admin/admin-ajax.php'; jQuery.ajax({ type: 'POST', url: ajaxurl, data: {"action": "load-filter", cat: catID }, success: function(data) { console.log(data); } }); } </script> </article> 

По какой-то причине я не получаю ничего, когда я нажимаю на категорию. Любая помощь будет принята с благодарностью.

Обновление: теперь это работает. Для будущих желающих это: В functions.php

 <?php add_action( 'wp_ajax_nopriv_load-filter', 'prefix_load_cat_posts' ); add_action( 'wp_ajax_load-filter', 'prefix_load_cat_posts' ); function prefix_load_cat_posts () { $cat_id = $_POST[ 'cat' ]; $args = array ( 'cat' => $cat_id, 'posts_per_page' => 10, 'order' => 'DESC' ); $posts = get_posts( $args ); global $post; ob_start (); foreach ( $posts as $post ) { setup_postdata( $post ); ?> <article class="post"> <!-- Display the Title as a link to the Post's permalink. --> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2> <!-- Display the date (November 16th, 2009 format) and a link to other posts by this posts author. --> <div class="row pad-bottom"> <!-- Display a comma separated list of the Post's Categories. --> <small class="postmetadata pull-left"><?php the_category(', '); ?></small> <small class="date pull-left"> Posted by <?php the_author_posts_link() ?> on <?php the_time('F jS, Y') ?></small> </div> <!-- Display the Post's content in a div box. --> <article id="entry"> <?php the_content('Read More here...'); ?> </article> </article> <!-- closes the first div box --> <!-- Stop The Loop (but note the "else:" - see next line). --> <?php } wp_reset_postdata(); $response = ob_get_contents(); ob_end_clean(); echo $response; die(1); } ?> 

в вашем файле темы:

 <article id="main" class="five seventh padded"> <?php $categories = get_categories(); ?> <ul id="category-menu"> <?php foreach ( $categories as $cat ) { ?> <li id="cat-<?php echo $cat->term_id; ?>"><a class="<?php echo $cat->slug; ?> ajax" onclick="cat_ajax_get('<?php echo $cat->term_id; ?>');" href="#"><?php echo $cat->name; ?></a></li> <?php } ?> </ul> <div id="loading-animation" style="display: none;"><img src="<?php echo admin_url ( 'images/loading-publish.gif' ); ?>"/></div> <div id="category-post-content"> </div> <script> function cat_ajax_get(catID) { jQuery("a.ajax").removeClass("current"); jQuery("a.ajax").addClass("current"); //adds class current to the category menu item being displayed so you can style it with css jQuery("#loading-animation-2").show(); var ajaxurl = 'http://localhost/united/wp-admin/admin-ajax.php'; jQuery.ajax({ type: 'POST', url: ajaxurl, data: {"action": "load-filter", cat: catID }, success: function(response) { jQuery("#category-post-content").html(response); jQuery("#loading-animation").hide(); return false; } }); } </script> </article> 

Solutions Collecting From Web of "AJAX с категориями фильтрации циклов"