jQuery(document).ready(function() {
var $subcategories = jQuery('#subcategories');
// Отправка ajax запроса при клике по ссылке
jQuery('#customCategory a').click(function(e) {
e.preventDefault();
var linkCat = jQuery(this).attr('href');
ajaxCat(linkCat);
});
function ajaxCat(linkCat) {
jQuery.post(
myPlugin.ajaxurl,
{
action: 'get_subcategories',
link: linkCat
},
function (responce) {
$subcategories.html(responce);
}
);
}
});
<?php
/**
* Plugin Name: Ajax Categories
*/
add_action( 'wp_ajax_get_subcategories', 'ajax_show_subcategories' );
add_action( 'wp_ajax_nopriv_get_subcategories', 'ajax_show_subcategories' );
function ajax_show_subcategories() {
$link = ! empty( $_POST['link'] ) ? esc_attr( $_POST['link'] ) : false;
$slug = $link ? wp_basename( $link ) : false;
$cat = get_category_by_slug( $slug );
if ( ! $cat ) {
die( 'Не найдена' );
}
query_posts( array(
'posts_per_page' => get_option( 'posts_per_page' ),
'post_status' => 'publish',
'category_name' => $cat->slug
) );
require plugin_dir_path( __FILE__ ) . 'subcategories.php';
wp_die();
}
add_action( 'wp_enqueue_scripts', 'my_assets' );
function my_assets() {
wp_enqueue_script( 'show-posts', plugins_url( 'show-posts.js', __FILE__ ), array( 'jquery' ) );
wp_localize_script( 'show-posts', 'myPlugin', array(
'ajaxurl' => admin_url( 'admin-ajax.php' )
) );
}
function ajaxCat(linkCat) {
jQuery.post(
myPlugin.ajaxurl,
{
action: 'get_subtitle',
link: linkCat
},
function (responce) {
$subcategories.html(responce);
}
);
}
display: inline-block;
https://codepen.io/alex-rogochiy/pen/agJJym