Pregunta sobre WordPress Infinite Scroll - Ajax Load More de Wordpress:

Error de referencia no asignado: almFilterComplete no está definido

Un usuario preguntó 👇

Quiero entradas un project CPT a project_type términos taxonómicos.

Haz que las entradas aparezcan a través del atajo:


[ajax_load_more post_type="project" taxonomy="project_type" taxonomy_terms="art, buildings, commercial, illustrations, residential" scroll="false" transition="fade" posts_per_page="6" button_label="Load More"]

Para la lista de filtros, aquí está el HTML:


<ul class="alm-filter-nav">
    <li><a href="#" data-post-type="project" data-taxonomy="project_type" data-taxonomy-terms="art, buildings, commercial, illustrations, residential">All</a></li>
    <li><a href="#" data-post-type="project" data-taxonomy="project_type" data-taxonomy-terms="art">Art</a></li>
    <li><a href="#" data-post-type="project" data-taxonomy="project_type" data-taxonomy-terms="buildings">Buildings</a></li>
    <li><a href="#" data-post-type="project" data-taxonomy="project_type" data-taxonomy-terms="commercial">Commercial</a></li>
    <li><a href="#" data-post-type="project" data-taxonomy="project_type" data-taxonomy-terms="illustrations">Illustrations</a></li>
    <li><a href="#" data-post-type="project" data-taxonomy="project_type" data-taxonomy-terms="residential">Residential</a></li>
</ul>

En cola alm.js con jQuery como dependencia.

Código completo en alm.js: https://pastebin.com/raw/ipJW8b2p.

Nota que he cambiado


[].forEach.call(buttons, function (button) {

a


[].forEach.call(filter_buttons, function (button) {

porque creo que así debería ser y además, de lo contrario, se estaba cometiendo un error.

De todos modos, volviendo al problema principal: la consola del navegador muestra este error: https://d.pr/i/EpuK82.

Hacer clic en los botones de filtro no hace más que agregar # a la URL de la página en la barra de direcciones.

Por favor avise.

(@dcooney)

Hace 1 año, 8 meses

Hola @srikat ¿Puedes mostrarme un enlace a esto?

El código exacto que se encuentra en el ejemplo de código se usa en dos sitios de desarrollo y funciona.
https://connekthq.com/plugins/ajax-load-more/docs/public-functions/#filter

Esta línea:
var filter_buttons = document.querySelectorAll('alm-filter-nav li a');

Debería ser:
var filter_buttons = document.querySelectorAll('.alm-filter-nav li a');

Parece que ha olvidado el. de la definición de clase.

(@srikat)

Hace 1 año, 7 meses

Hola @dcooney

URL: https://almfiltering.demo.site/projects/

Dado que jQuery ya no es necesario, lo estoy cargando así:


wp_enqueue_script( 'alm-filtering', get_stylesheet_directory_uri() . '/js/alm.js', array(), CHILD_THEME_VERSION, true );

Omití el punto en el selector.

El problema aún existe.

(@dcooney)

Hace 1 año, 7 meses

@srikat No estoy seguro de por qué se produce el error inicial almFilterComplete, pero sus filtros no funcionan debido a lo siguiente:

var activeEl = document.querySelector('.alm-filter-nav li.active');
if (active) {
   activeEl.classList.remove('active');
}

Debería ser:

var activeEl = document.querySelector('.alm-filter-nav li.active');
if (activeEl) {
   activeEl.classList.remove('active');
}

Esta respuesta fue modificada hace 1 año, 7 meses.

(@srikat)

Hace 1 año, 7 meses

¡Eso está arreglado! El filtrado ahora funciona.

El error de la consola ha sufrido un cambio


almFilterComplete = function () {

a


var almFilterComplete = function () {

¿Hay alguna forma de evitar que # se agregue al final de una URL cuando se hace clic en un enlace de filtro?

Tratando de cambiar


function filterClick() {

a


function filterClick(event) {
event.stopPropagation();

sin suerte.

(@srikat)

Hace 1 año, 7 meses

Tonto para mí.

e.preventDefault(); Es lo que debería estar usando.

Gracias por toda tu ayuda nuevamente, Darren.

(@dcooney)

Hace 1 año, 7 meses

¡Gracias por seguir!

Actualicé los documentos de recuperación para usar window. para cada función … creo que esa es la cuestión.
https://connekthq.com/plugins/ajax-load-more/docs/callback-functions/

(@srikat)

Hace 1 año, 7 meses

Frio.

Es posible que desee actualizar el JS en https://connekthq.com/plugins/ajax-load-more/examples/filtering/#code.

(@dcooney)

Hace 1 año, 7 meses

Ah, sí. ¡gracias!

¿Solucionó tu problema??

0 / 0

Deja una respuesta 0

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