Я пытаюсь загрузить больше публикации, вызывая пользовательский тип поста с помощью массива таксономии, чтобы разобраться с специфическим сообщением или всем портом журнала. Если вы нажмете больше загрузки, и нет никакого сообщения для возврата, пользователь получит сообщение. На данный момент, когда я нажимаю кнопку «Загрузить больше», кажется, что фанситон просто зацикливается на том, что не возвращает еще 3 сообщения. WordPress Ajax загружать больше функциональности после. С размещением, чтобы отобразить 3 Post и загрузить больше функциональности кнопки, чтобы вернуть 3 сообщения на каждом щелчке, пока все сообщения не будут возвращены. < /p>
var limit = 3,
page = 1,
type = 'latest',
category = '',
max_pages_latest =
Sorry...
< /code>
Второй шаг: < /strong>
разработал фрагмент фильтра сценария внизу в нижней части файла функций. Полем Верхняя функция загружает файлы AJAX в установку WordPress, включая созданный я созданный файл Ajax, который находится на третьем шаге. Вторая функция перемещает сообщение от обработчика Ajax. < /P>
function bsubash_load_more_scripts() {
wp_enqueue_script('jquery');
wp_register_script( 'loadmore_script', get_stylesheet_directory_uri() . '/js/ajax.js', array('jquery') );
wp_localize_script( 'loadmore_script', 'loadmore_params', array(
'ajaxurl' => admin_url('admin-ajax.php'),
) );
wp_enqueue_script( 'loadmore_script' );
}
add_action( 'wp_enqueue_scripts','bsubash_load_more_scripts' );
function bsubash_loadmore_ajax_handler(){
$type = $_POST['type'];
$category = isset($_POST['category']) ? $_POST['category']: '';
$args['paged'] = $_POST['page'] + 1;
$args['post_status'] = 'publish';
$args['posts_per_page'] = $_POST['limit'];
if($type == 'archive'){
$args['category_name'] = $category;
}
query_posts( $args );
if( have_posts() ) :
while(have_posts()): the_post();
//write your single post card
the_title();
the_excerpt();
endwhile;
endif;
die;
}
add_action('wp_ajax_loadmore','bsubash_loadmore_ajax_handler');
add_action('wp_ajax_nopriv_loadmore','bsubash_loadmore_ajax_handler');
< /code>
окончательный шаг: < /strong>
создал файл ajax.js, который живет в моей папке темы /js/ajax.js, который вы увидите в Funciton на втором шаге. Ajax не вернет сообщение после того, как вы нажимаете на загрузку больше, включая отображение загрузки и загрузку более статических сообщений. Кажется, это работает нормально. < /P>
jQuery(function($) {
$('.btn-load-more').click(function(e) {
e.preventDefault();
var button = $(this),
data = {
'action': 'loadmore',
'limit': limit,
'page': page,
'type': type,
'category': category
};
$.ajax({
url: loadmore_params.ajaxurl,
data: data,
type: 'POST',
beforeSend: function(xhr) {
button.text('Loading...'); // change the button text, you can also add a preloader image
},
success: function(data) {
if (data) {
$(".latest_posts_wrapper").append(data);
page++;
button.text('Load More');
if (page == max_pages_latest)
button.remove(); // if last page, remove the button
} else {
button.remove(); // if no data, remove the button as well
}
}
});
});
});
< /code>
все сделано !!! Br /> выше, в верхней части моего шаблона страницы, у меня есть другой пост, который представлен избранным сообщением. Эти посты возвращаются из прокси. Я просто указываю на это, чтобы вы знали о том, что в моем файле. Это не влияет на мою проблему. < /P>
$magazines = [];
$wp_query = new WP_Query(
array(
'post_type' => 'Magazine',
'tax_query' => array(
array (
'taxonomy' => 'magazine_categories',
'field' => $categoryId,
'terms' => $category,
'posts_per_page' => $postsPerPage,
)
),
)
);
while ($wp_query->have_posts()) : $wp_query->the_post();
//$blogProxy = new BlogProxy(get_the_ID());
$magazine = new Magazine();
$magazine->title = get_the_title();
$magazine->featured_image = get_the_post_thumbnail_url(get_the_ID());
$magazine->preview_text = get_the_excerpt();
$magazine->permalink = get_the_permalink();
$magazine->date = get_the_date();
array_push($magazines, $magazine);
endwhile;
wp_reset_postdata();
?>
< /code>
Моя цель состоит в том, чтобы разработать кнопку загрузки больше с пользовательским типом поста с помощью AJAX. Если вы выполняете шаги выше, вы должны увидеть активную функциональность, которая не возвращает сообщение после нажатия кнопки Load More.
Подробнее здесь: https://stackoverflow.com/questions/751 ... -wordpress
Ajax загрузить больше пользовательского типа Post WordPress ⇐ Jquery
Программирование на jquery
-
Anonymous
1739425029
Anonymous
Я пытаюсь загрузить больше публикации, вызывая пользовательский тип поста с помощью массива таксономии, чтобы разобраться с специфическим сообщением или всем портом журнала. Если вы нажмете больше загрузки, и нет никакого сообщения для возврата, пользователь получит сообщение. На данный момент, когда я нажимаю кнопку «Загрузить больше», кажется, что фанситон просто зацикливается на том, что не возвращает еще 3 сообщения. WordPress Ajax загружать больше функциональности после. С размещением, чтобы отобразить 3 Post и загрузить больше функциональности кнопки, чтобы вернуть 3 сообщения на каждом щелчке, пока все сообщения не будут возвращены. < /p>
var limit = 3,
page = 1,
type = 'latest',
category = '',
max_pages_latest =
Sorry...
< /code>
Второй шаг: < /strong>
разработал фрагмент фильтра сценария внизу в нижней части файла функций. Полем Верхняя функция загружает файлы AJAX в установку WordPress, включая созданный я созданный файл Ajax, который находится на третьем шаге. Вторая функция перемещает сообщение от обработчика Ajax. < /P>
function bsubash_load_more_scripts() {
wp_enqueue_script('jquery');
wp_register_script( 'loadmore_script', get_stylesheet_directory_uri() . '/js/ajax.js', array('jquery') );
wp_localize_script( 'loadmore_script', 'loadmore_params', array(
'ajaxurl' => admin_url('admin-ajax.php'),
) );
wp_enqueue_script( 'loadmore_script' );
}
add_action( 'wp_enqueue_scripts','bsubash_load_more_scripts' );
function bsubash_loadmore_ajax_handler(){
$type = $_POST['type'];
$category = isset($_POST['category']) ? $_POST['category']: '';
$args['paged'] = $_POST['page'] + 1;
$args['post_status'] = 'publish';
$args['posts_per_page'] = $_POST['limit'];
if($type == 'archive'){
$args['category_name'] = $category;
}
query_posts( $args );
if( have_posts() ) :
while(have_posts()): the_post();
//write your single post card
the_title();
the_excerpt();
endwhile;
endif;
die;
}
add_action('wp_ajax_loadmore','bsubash_loadmore_ajax_handler');
add_action('wp_ajax_nopriv_loadmore','bsubash_loadmore_ajax_handler');
< /code>
окончательный шаг: < /strong>
создал файл ajax.js, который живет в моей папке темы /js/ajax.js, который вы увидите в Funciton на втором шаге. Ajax не вернет сообщение после того, как вы нажимаете на загрузку больше, включая отображение загрузки и загрузку более статических сообщений. Кажется, это работает нормально. < /P>
jQuery(function($) {
$('.btn-load-more').click(function(e) {
e.preventDefault();
var button = $(this),
data = {
'action': 'loadmore',
'limit': limit,
'page': page,
'type': type,
'category': category
};
$.ajax({
url: loadmore_params.ajaxurl,
data: data,
type: 'POST',
beforeSend: function(xhr) {
button.text('Loading...'); // change the button text, you can also add a preloader image
},
success: function(data) {
if (data) {
$(".latest_posts_wrapper").append(data);
page++;
button.text('Load More');
if (page == max_pages_latest)
button.remove(); // if last page, remove the button
} else {
button.remove(); // if no data, remove the button as well
}
}
});
});
});
< /code>
все сделано !!! Br /> выше, в верхней части моего шаблона страницы, у меня есть другой пост, который представлен избранным сообщением. Эти посты возвращаются из прокси. Я просто указываю на это, чтобы вы знали о том, что в моем файле. Это не влияет на мою проблему. < /P>
$magazines = [];
$wp_query = new WP_Query(
array(
'post_type' => 'Magazine',
'tax_query' => array(
array (
'taxonomy' => 'magazine_categories',
'field' => $categoryId,
'terms' => $category,
'posts_per_page' => $postsPerPage,
)
),
)
);
while ($wp_query->have_posts()) : $wp_query->the_post();
//$blogProxy = new BlogProxy(get_the_ID());
$magazine = new Magazine();
$magazine->title = get_the_title();
$magazine->featured_image = get_the_post_thumbnail_url(get_the_ID());
$magazine->preview_text = get_the_excerpt();
$magazine->permalink = get_the_permalink();
$magazine->date = get_the_date();
array_push($magazines, $magazine);
endwhile;
wp_reset_postdata();
?>
< /code>
Моя цель состоит в том, чтобы разработать кнопку загрузки больше с пользовательским типом поста с помощью AJAX. Если вы выполняете шаги выше, вы должны увидеть активную функциональность, которая не возвращает сообщение после нажатия кнопки Load More.
Подробнее здесь: [url]https://stackoverflow.com/questions/75105289/ajax-load-more-custom-post-type-wordpress[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия