Saltar al contenido

Wordpress – filtro de categoría ajax

Revisamos profundamente cada artículo de nuestra web con el objetivo de mostrarte en todo momento la información certera y actualizada.

Solución:

No estoy seguro de si resolvió esto o no, pero estaba buscando una manera de incrustar esto dentro de una página y filtrar las publicaciones por categoría.

Tengo esto funcionando, por lo que muestra todas las categorías y las publicaciones relacionadas. pon eso en functions.php

function ajax_filter_posts_scripts() 
  // Enqueue script
  wp_register_script('afp_script', get_template_directory_uri() . '/js/ajax-filter-posts.js', false, null, false);
  wp_enqueue_script('afp_script');

  wp_localize_script( 'afp_script', 'afp_vars', array(
        'afp_nonce' => wp_create_nonce( 'afp_nonce' ), // Create nonce which we later will use to verify AJAX request
        'afp_ajax_url' => admin_url( 'admin-ajax.php' ),
      )
  );

add_action('wp_enqueue_scripts', 'ajax_filter_posts_scripts', 100);

// Script for getting posts
function ajax_filter_get_posts( $taxonomy )  !wp_verify_nonce( $_POST['afp_nonce'], 'afp_nonce' ) )
    die('Permission denied');

  $taxonomy = $_POST['taxonomy'];

  // WP Query
  $args = array(
    'category_name' => $taxonomy,
    'post_type' => 'post',
    'posts_per_page' => 10,
  );
  echo $taxonomy;
  // If taxonomy is not set, remove key from array and get all posts
  if( !$taxonomy ) 
    unset( $args['tag'] );
  

  $query = new WP_Query( $args );

  if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
    

">

No posts found

Luego, agregue esto en su plantilla de página:

 'post',
            'posts_per_page' => 10,
        );

        $query = new WP_Query( $args );

        $tax = 'category';
        $terms = get_terms( $tax );
        $count = count( $terms );

        if ( $count > 0 ): ?>
            
        have_posts() ): ?>
        
have_posts() ) : $query->the_post(); ?>

">

No posts found

¡Espero que eso ayude a resolver tus problemas!

Comentarios y puntuaciones

Puedes añadir valor a nuestra información añadiendo tu veteranía en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *