Pregunta sobre Arreglando WordPress de Wordpress:

Los cambios del personalizador obtienen un error: Algo parece estar mal. Espera unos pocos …

Un usuario preguntó 👇

De acuerdo, en la pestaña ‘CSS adicional’ del cliente, cada vez que presiono publicar, el adaptador guarda mi código, pero también comete un error:

Algo parece estar mal. Espere unos segundos y vuelva a intentarlo.

¿Hay algún problema con mi instalación de WordPress o algo así? Estoy en 5.1.2 y está instalado en SiteGround.

(@bcworkz)

Hace 1 año, 11 meses

El mensaje significa que WP no recibió la respuesta JSON esperada, por lo que no pudo confirmar que la actualización fue exitosa incluso si lo fue. Dudo mucho que esto se deba a algo sobre el final de SiteGround y que no haya nada de malo en la instalación de WP.

Puede probar con la herramienta de desarrollo de red de su navegador. Edite algo de CSS adicional o agregue algo sin sentido. OIA, haga un cambio de cualquier tipo. Borre la pantalla de la herramienta de red, luego haga clic en publicar. La herramienta debe mostrar una solicitud POST. Haga clic en la entrada de la herramienta y vea cuál es la respuesta. Si hay una respuesta JSON que incluya {"success": true, puede haber un problema con su instalación. Si no es así, está al final de SiteGround.

Lanzador de hilos

(@ caldo01)

Hace 1 año, 11 meses

hmm, el panel de red muestra 2 aplicaciones parpadeando después de presionar ‘Publicar’. Ambas solicitudes son solicitudes POST y son de admin-ajax.php. El éxito es uno de ellos: verdadero en JSON y el éxito es el otro: falso.

(@bcworkz)

Hace 1 año, 11 meses

Eso es raro. Supongo que su tema o plugin no interactúa con la personalización correctamente, lo que resulta en un segundo intento no válido. El primer intento parece acertado. El segundo es inapropiado para el mensaje equivocado. De lo contrario, verá que el botón Publicar cambia a Publicado en gris como se esperaba.

Intente instalar y activar el plugin de verificación de estado. Ingrese el método de solución de problemas. Guardar CSS debería funcionar de esta manera. Utilice el elemento de la barra de administración de resolución de problemas para restaurar su tema, luego sus plugins, uno por uno, probando después de cada uno. Cuando vuelve a obtener el doble POST, el último módulo de activación es el culpable. No olvide cancelar el método de solución de problemas después.

Es posible que de vez en cuando vea una aplicación de latidos que regresa en parte {"wp-auth-check":true, puede ignorarlos.

Lanzador de hilos

(@ caldo01)

Hace 1 año, 11 meses

Instalé ese plugin, entré en modo de solución de problemas, desactivé todos los plugins y cambié los temas a veinte años.

Cuando intenté publicar CSS adicional con el personalizado, encontré el error «No se pudo guardar porque 1 sitio no es válido». pero no había nada en lo que hacer clic o de ninguna manera para ver cuál era esa configuración no válida. ¿Cómo puedo comprobar cuál es el sitio no válido?

(@bcworkz)

Hace 1 año, 11 meses

No es muy sencillo averiguarlo. Tienes que hackear el modo central WP_Customize_Manager :: validate_setting_values ​​() y obtenerlo en la configuración de error_log () en la asignación de objetos WP_Error para $ validez.

Código fuente relevante: https://developer.wordpress.org/reference/classes/wp_customize_manager/validate_setting_values/#source

Por lo general, se recomienda cambiar un código central, pero está bien realizar cambios temporales con fines de investigación.

Lanzador de hilos

(@ caldo01)

Hace 1 año, 11 meses

El código de la página a la que se vinculó y el código de ese archivo son muy diferentes.

El código actual se ve así:

	/**
	 * Print JavaScript settings for preview frame.
	 *
	 * @since 3.4.0
	 */
	public function customize_preview_settings() {
		$post_values                 = $this->unsanitized_post_values( array( 'exclude_changeset' => true ) );
		$setting_validities          = $this->validate_setting_values( $post_values );
		$exported_setting_validities = array_map( array( $this, 'prepare_setting_validity_for_js' ), $setting_validities );

		// Note that the REQUEST_URI is not passed into home_url() since this breaks subdirectory installations.
		$self_url           = empty( $_SERVER['REQUEST_URI'] ) ? home_url( '/' ) : esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) );
		$state_query_params = array(
			'customize_theme',
			'customize_changeset_uuid',
			'customize_messenger_channel',
		);
		$self_url           = remove_query_arg( $state_query_params, $self_url );

		$allowed_urls  = $this->get_allowed_urls();
		$allowed_hosts = array();
		foreach ( $allowed_urls as $allowed_url ) {
			$parsed = wp_parse_url( $allowed_url );
			if ( empty( $parsed['host'] ) ) {
				continue;
			}
			$host = $parsed['host'];
			if ( ! empty( $parsed['port'] ) ) {
				$host .= ':' . $parsed['port'];
			}
			$allowed_hosts[] = $host;
		}

		$switched_locale = switch_to_locale( get_user_locale() );
		$l10n            = array(
			'shiftClickToEdit'  => __( 'Shift-click to edit this element.' ),
			'linkUnpreviewable' => __( 'This link is not live-previewable.' ),
			'formUnpreviewable' => __( 'This form is not live-previewable.' ),
		);
		if ( $switched_locale ) {
			restore_previous_locale();
		}

		$settings = array(
			'changeset'         => array(
				'uuid'      => $this->changeset_uuid(),
				'autosaved' => $this->autosaved(),
			),
			'timeouts'          => array(
				'selectiveRefresh' => 250,
				'keepAliveSend'    => 1000,
			),
			'theme'             => array(
				'stylesheet' => $this->get_stylesheet(),
				'active'     => $this->is_theme_active(),
			),
			'url'               => array(
				'self'          => $self_url,
				'allowed'       => array_map( 'esc_url_raw', $this->get_allowed_urls() ),
				'allowedHosts'  => array_unique( $allowed_hosts ),
				'isCrossDomain' => $this->is_cross_domain(),
			),
			'channel'           => $this->messenger_channel,
			'activePanels'      => array(),
			'activeSections'    => array(),
			'activeControls'    => array(),
			'settingValidities' => $exported_setting_validities,
			'nonce'             => current_user_can( 'customize' ) ? $this->get_nonces() : array(),
			'l10n'              => $l10n,
			'_dirty'            => array_keys( $post_values ),
		);

		foreach ( $this->panels as $panel_id => $panel ) {
			if ( $panel->check_capabilities() ) {
				$settings['activePanels'][ $panel_id ] = $panel->active();
				foreach ( $panel->sections as $section_id => $section ) {
					if ( $section->check_capabilities() ) {
						$settings['activeSections'][ $section_id ] = $section->active();
					}
				}
			}
		}
		foreach ( $this->sections as $id => $section ) {
			if ( $section->check_capabilities() ) {
				$settings['activeSections'][ $id ] = $section->active();
			}
		}
		foreach ( $this->controls as $id => $control ) {
			if ( $control->check_capabilities() ) {
				$settings['activeControls'][ $id ] = $control->active();
			}
		}

		?>
		<script type="text/javascript">
			var _wpCustomizeSettings = <?php echo wp_json_encode( $settings ); ?>;
			_wpCustomizeSettings.values = {};
			(function( v ) {
				<?php
				/*
				 * Serialize settings separately from the initial _wpCustomizeSettings
				 * serialization in order to avoid a peak memory usage spike.
				 * @todo We may not even need to export the values at all since the pane syncs them anyway.
				 */
				foreach ( $this->settings as $id => $setting ) {
					if ( $setting->check_capabilities() ) {
						printf(
							"v[%s] = %s;n",
							wp_json_encode( $id ),
							wp_json_encode( $setting->js_value() )
						);
					}
				}
				?>
			})( _wpCustomizeSettings.values );
		</script>
		<?php
	}

¿Dónde publico la declaración console.log? (si eso es lo correcto para agregar. No estoy seguro de qué hacer aquí)

(@bcworkz)

Hace 1 año, 11 meses

Su código define la configuración, pero no es responsable de guardar la configuración. El código fuente valida un método que vinculé a la configuración antes de guardar y activa la alerta que está recibiendo al asignar un objeto WP_Error a una propiedad $ validity.

Todo esto sucede en el lado del servidor, por lo que el inicio de sesión de la consola en su navegador no funcionará. Insertaría lo siguiente entre las líneas 2321 y 2322 del código de conexión:

if ( is_wp_error( $validity )) {
  $msg = $validity->get_error_messages();
  error_log("Validation error for setting $setting_id: {$msg[0]}");
}

Consulte el archivo de registro de errores del servidor para averiguar cuál es el mensaje de error y el ID de instalación.

Lanzador de hilos

(@ caldo01)

Hace 1 año, 11 meses

¡Oh gracias! Hice eso y aquí está el error que se imprime cuando guardo CSS:

[21-Mar-2019 22:14:15 UTC] Aviso de PHP: Índice no especificado: purge-log-entries en /home/client7982/public_html/wp-content/plugins/better-wp-security/core/lib/class-itsec-scheduler-cron.php en línea 54

Veo mejor security-wp hay itemes, y supongo que deshabilitar iThemes «solucionaría» este problema, pero quiero usar el plugin. ¿Podría estar arreglando algo legible que no debería ser o alguna otra ubicación?

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

(@bcworkz)

Hace 1 año, 11 meses

La notificación de PHP que ve no tiene nada que ver con los errores de validación. IThemes no debería estar activo si todavía estaba en el modo de solución de problemas. (Se desactiva cuando cierra su navegador). Intente invocar el modo de resolución de problemas nuevamente, luego guarde CSS adicional y vea lo que muestra el registro de errores.

Lanzador de hilos

(@ caldo01)

Hace 1 año, 11 meses

Demostración n. ° 1: registro de errores

[22-Mar-2019 22:10:34 UTC] Aviso de PHP: índice no definido: desactivar en /home/client7982/public_html/wp-content/plugins/captcha-bank/captcha-bank.php en línea 1507

deshabilitar el plugin captcha no tiene ningún efecto. Siempre que traduzca temas de Blank (no estoy censurando el nombre, es un tema personalizado que hice) no obtengo ningún error personalizado.

Anexo 2: Notificaciones y modo de solución de problemas:

Cuando el tema activo se cambió a En blanco, el sitio falló. Debido a esto, hemos vuelto a mover el tema al tema que usó anteriormente.

El sitio falló al habilitar este plugin de wordpress. El cambio se restauró automáticamente debido a esto.

Cuando se habilitó el plugin, smart-slide-3, el sitio falló. El cambio se restauró automáticamente debido a esto.

Cuando se habilitó el plugin, smart-slide-3, el sitio falló. El cambio se restauró automáticamente debido a esto.

Cuando el tema activo se cambió a veinte, el sitio falló. Debido a esto, hemos vuelto a mover el tema al tema que usó anteriormente.

El método de resolución de problemas ejecuta el tema durante veinte años, no sé por qué dice que hubo un error. De todos modos, la evidencia se centra en mi tema interactuando con la costumbre como problema. Desde que hice este tema para uso del cliente, quiero saber cómo puedo solucionarlo. ¿Alguna idea sobre qué se debe arreglar y cómo?

Por cierto, gracias por gastar tanto conmigo, ¡creo que casi llegamos al final!

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

(@bcworkz)

Hace 1 año, 11 meses

Reducir el origen del problema a un tema personalizado es un avance significativo. Le animo a que revise la parte personalizada del Manual de temas y compare sus ejemplos con el código de su tema. Es solo una misión, pero parece que intentas hacer algo que la personalización de la API ya hace por ti, por lo que las solicitudes de ahorro se duplican.

Lanzador de hilos

(@ caldo01)

Hace 1 año, 11 meses

hmm, no quiero hacer nada especial o extra en el tema con la personalización. Como su nombre lo indica, el tema es solo un tema en blanco (como subrayado o algo así) pero con algunos estilos ya agregados como menús y esas cosas). En lugar de intentar reescribir todo el tema, espero poder sobrescribir un archivo o dos de los tema con los de un tema existente y en funcionamiento. ¿Cómo averiguo qué archivos / archivos están causando el problema?

—- WOW ok, apliqué el tema a la instalación local y hay muchos errores … jajaja, tal vez mi anfitrión estaba suprimiendo los errores o la cosa idk, pero traté de tejer diferentes tecnologías para este tema hace unos años y ahora toda la tecnología está desactualizada e incompatible, así que mi trabajo se ha cortado para mí, ¡gracias de nuevo! (si no quieres ayudar a arreglar este tema blanco genial diseñado para adaptarse fácilmente a los clientes … es un proyecto genial: https://github.com/brothman01/blank

lo que necesites, ¡pero me encantaría tu opinión!

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

(@bcworkz)

Hace 1 año, 11 meses

Un host normalmente muestra errores del navegador, pero no el archivo de registro, aunque eso es incluso posible. Espero que las publicaciones duplicadas también se resuelvan resolviendo los errores arrojados, pero lo dudo. Los errores generalmente no causan cosas adicionales.

No existe una manera fácil de aislar el código del problema que no arroje errores o advertencias. Comente los bloques de código para averiguar qué causa que el problema se detenga, o realice un seguimiento suave del código, generando datos de depuración verificando valores de variables hasta que encuentre valores o comportamientos inesperados.

No tengo tiempo ahora para mirar tu tema. Quizás cuando haya más tiempo disponible lo veré. Te dará tiempo para resolver los errores 😉

Lanzador de hilos

(@ caldo01)

Hace 1 año, 11 meses

Oh oye, eso es totalmente correcto, ¡por supuesto que tienes mucho que hacer! Sabía que era una posibilidad remota que tendrías tiempo para ayudar, pero pensé que valía la pena hacerte una pregunta, jaja.

¡Gracias, de nuevo, por toda su ayuda! De acuerdo, revise todo el código del tema para encontrar esos errores, ¡sí! 🙁

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