Respuestas de foro creadas

Viendo 15 respuestas - de la 16 a la 30 (de un total de 474)
  • Pues vaya que en una web que ofrece servicios SEO tenga esos problemas ….

    Creo que haces un planteamiento erróneo. No necesitas un nuevo rol ni perfil, lo que necesitas es exportar solo los usuarios que hayan confirmado su email.

    $args = [
        'meta_query' => [
            'key'     => 'account_status',
            'value'   => 'approved'
        ]
    ];
    $users = new WP_User_Query( $args );

    Para más opciones visita la documentación de WP_User_Query() y de Ultimate Member (por el contenido de tu pregunta y el screenshot que pones, intuyo que estás utilizando el plugin Ultimate Member).

    Aparte del espacio, veo otros caracteres sustituidos por su código ASCII. Yo diría que es el culpa del theme que está codificando ese texto como si fuera una URL. Veo que es un theme premium, así que deberías contactar con su servicio de soporte para que te ayuden.

    El break tiene que ir dentro del loop que quieres terminar, no fuera.

    He descargado el theme y he visto que ese «By» si que viene listo para traducir. Si miras en el archivo template-parts/contnet.php podrás ver este código:

    esc_html_e( 'By', 'responsiveblogic' );

    ¿Es posible que el plugin Loco Translate no reconozca la función de traducción esc_html_e()? ¿Podrías preguntar a su desarrollador? Debería funcionar con esa función sin problemas.

    Tienes varios break; por ahí que no deberías tener. ¿Por qué has puestos esos break? ¿Cuál es la intención?

    También veo un </div--> que parece que tendría que ser <div>.

    Da igual un while que un foreach; ese no es problema que tenías. Se te ha solucionado de casualidad 🙂 . Has cambiado el loop que hacías con un query propio (que hacías con get_posts()), por un loop del query principal y de casualidad tienes los mismos posts en ambos. En ese loop que haces ahora, WodPress se encarga de actualizar la global $post con la función the_post();, que era lo que te sugería hacer en el comentario anterior pero utilizando la función apropiada para los queries secundarios.

    Pero bueno, si lo tienes solucionado, no nos metamos ahí que igual te lío más.

    Voy a echarle un vistazo al código nuevo que has puesto, pero dame un ratillo.

    Acabo de encontrar algunas entradas en los foros con esos mismos errores de tener «defer» en los scripts de AMP por culpa de los plugins «Async JavaScript» y Fast Velocity Minify. Estaría bien que, como te preguntaba, si tienes ese u otro plugin de optimización lo desactivases a ver si se soluciona el problema (aunque en Search Console te tardará un tiempo en irse el mensaje de error, tendrás que comprobarlo a mano directamente mirando el código fuente o en la herramienta de pruebas de AMP).

    Hay otros muchos plugins de optimización que no dan problemas con AMP, como Autoptimize, LiteSpeed o W3TC.

    A ver si es que hablamos de plugins distintos. ¿El plugin que utilizas y que te da problemas es este? https://wordpress.org/plugins/amp/

    Yo utilizo también ese plugin y no tengo ese problema. Así que no se decirte, siento no ser de más ayuda. Tienes que tener algún otro plugin o código por ahí que le meta el atributo defer, ¿algún plugin de optimización quizás?

    Copiar y pegar sin saber lo que se hace (no me lo tomes mal) tiene muchos riesgos. Además, la mayoría de código que encuentres en blogs y tutoriales online, por mucha confianza que te den, se deben tomar en general como ejemplos ilustrativos y no como código listo para usar.

    Dicho eso, ninguno de los mensajes de error que has puesto parece deberse a problemas con la versión de PHP 7 o 7.1, pero sin ver el código, no te podemos decir mucho más de lo que dicen los propios mensajes de error. Por ejemplo, el mensaje:

    PHP Parse error: syntax error, unexpected ‘;’ in /…/functions.php on line 35

    Significa exactamente eso, que se ha encontrado el carácter ; (punto y coma) en un sitio donde no debería estar. En PHP ; tiene un significado especial, y su ausencia o presencia donde no debe genera errores fatales como el que has tenido. Un solo ; mal puesto hace que el motor PHP no entienda el código y no pueda ejecutarlo.

    Existen muchos editores de código que comprueban este tipo de fallos de sintaxis en el código. Aquí puedes ver unos cuantos: https://en.wikipedia.org/wiki/List_of_PHP_editors

    ¿Qué plugin utilizas para implementar AMP y que versión? ¿Es en las páginas de WooCommerce? (Lo digo porque has puesto el mensaje en la categoría de WooCommerce pero luego no queda nada claro si tiene que ver con WooCommerce).

    Así de primeras, creo (tendría que confirmar) que el script v0.js (amphtml engine) no puede ir con el atributo defer, quitáselo. Además tienes defer y asynca la vez, lo que no tiene sentido. Deja solo async. ¿Puedes probarlo?

    Hay un error en el último mensaje que puse. Hay que cambiar esto:

    wp_rewset_postdata();

    Por:

    wp_reset_postdata()

    Fíjate como al hacer esto:

    $posts = get_posts( $args );
    foreach ($posts as $post) {
    }

    Todas las funciones utilizan $post->ID para saber del post del que se trata dentro del loop foreach. Para la función del excerpt deberías hacer los mismo:

    // Aquí hay una global $post
    $posts = get_posts( $args );
    foreach ($posts as $post) {
      // para que se tome el post actual del loop foreach,
      // tenemos que pasar el $post->ID, de lo contrario
      // se tomará el post global
      echo get_the_excerpt( $post->ID );
    }

    O:

    // Aquí hay una global $post
    $posts = get_posts( $args );
    foreach ($posts as $post) {
      // con la siguiente función la global $post
      // se hace igual al post actual dentro del loop
      setup_postdata( $post );
      the_excerpt();
    }
    // Ahora restauramos la global $post
    // al post que había antes del loop
    wp_rewset_postdata();

    No se me ocurre otra forma más sencilla de explicarlo así en un mensaje del foro 🙁
    Igual deberías contactar con el desarrollador del theme y que solucione este fallo.

    • Esta respuesta fue modificada hace 5 años, 8 meses por cybmeta.

    No veo the_excerpt() por ningún lado en tú código 🙂 Veo the_excerpt_max_charlength() que no es una función nativa de WordPress, es una función propia del theme.

    De todas formas, creo que el problema va por el camino que te decía. El theme no parece estar bien programado.

    the_excerpt() toma el post «global», y en tú código no se actualiza ese valor antes de ejecutar the_excerpt_max_charlength(), por lo que siempre toma el mismo post, el que se haya quedado en la variable global $post.

Viendo 15 respuestas - de la 16 a la 30 (de un total de 474)