Pregunta sobre Arreglando WordPress de Wordpress:

plugins_url () tiene un comportamiento aleatorio

Un usuario preguntó 👇

Hola, estoy trabajando en un widget para Elementor en wordpress y estoy ejecutando una consulta mientras intento registrar mis scripts.


wp_register_script(
    'ssn-sub-module-reactive-script',
    plugins_url() . '/ssn-sub-module/ext-templates/elementor/scripts/ssn-sub-module-reactive-script.js',
    [ 'elementor-frontend' ],
    '1.0.90',
    true
);

Utilizo esta llamada en mi generador de clases de widgets y ha funcionado perfectamente hasta ahora. Sin embargo, actualicé a una versión más nueva después de algunas correcciones menores, y ahora mi página ejecuta el error 404 al intentar cargar el script:

OBTENER https://schoolofsocialnetworks.org/en/wp-content/plugins/ssn-sub-module/ext-templates/elementor/scripts/ssn-counters-interaction.js/?ver=1.0.1 glan :: ERR_ABORTED 404

Sucede que el error proviene de plugins_url () agregando la etiqueta lang ‘/ en /’ al comienzo de la URL. En la clase principal (mi cargador de widgets), registré algunas hojas de estilo CSS y funciona perfectamente. Si me hago eco de la url de uno de ellos

echo plugins_url() . '/ssn-achievements/ext-templates/elementor/styles/ssn-unit.css';

Obtengo la siguiente dirección:
https://schoolofsocialnetworks.org/wp-content/plugins/ssn-achievements/ext-templates/elementor/styles/ssn-unit-cards.css

La etiqueta lang ‘/ en /’ no existe.

Mi árbol de proyectos en este punto se ve así:


|_.../ext-templates/elementor
    |_SsnLoader.php
    |_widgets/
        |_MyWidget.php

La llamada a plugins_url () funciona en SsnLoader pero no en MyWidget. ¿Eso es un error?

EDITAR

Dado que la publicación está marcada para mis 2 ediciones y no puedo responderla: descubrí que el error fue causado por un error tipográfico (grande) en la URL. ¿Es porque una URL incorrecta cambia la ruta predeterminada a ‘/ en /’ (o cualquier idioma predeterminado) mientras que una URL correcta no lo hace?

Este tema fue modificado hace 4 meses, 2 semanas por. Este tema fue modificado hace 4 meses, 2 semanas por. Este tema fue modificado hace 4 meses, 2 semanas por.

(@ otto42)

Administración de WordPress.org

Hace 4 meses, 2 semanas

No sé sobre / ga, probablemente haya algo más que se agregue a eso, pero realizar operaciones de cable en los resultados de plugins_url () no es la forma correcta de usarlo.

Esto sería más preciso:

echo plugins_url( '/ext-templates/elementor/styles/ssn-unit.css' , __FILE__ );

Asume que el archivo actual está en el directorio plugins / ssn-Achievements. De esta forma, no es necesario especificar el nombre del directorio del plugin de forma codificada.

Ver https://developer.wordpress.org/reference/functions/plugins_url/

¿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 *