web-dev-qa-db-fra.com

Comment une fonction obsolète peut planter un site WordPress lors de la mise à niveau

Il est dit que les fonctions obsolètes utilisées dans les plugins et les thèmes peuvent planter un site Web Wordress lors de la mise à niveau vers une version plus récente. Je souhaite voir un exemple de fonction obsolète pouvant provoquer un blocage.

Quelqu'un peut-il me montrer un exemple?

Merci beaucoup!

1
Tahir Yasin

Où...

Les fichiers suivants contiennent les fonctions déconseillées:

  • ~/wp-includes/deprectated.php
  • ~/wp-includes/pluggable-deprectated.php
  • ...

Jetez un coup d'oeil à eux et ensuite à travers leurs fonctions de remplacement, où les appels à _deprecated_function() se produisent.

Pourquoi...

Normalement, un crash ne devrait pas arriver. Dans le "vrai" monde PHP, vous obtiendrez un E_DEPRECATED Warning. Dans WordPress, vous obtenez un retour trigger_error() provoqué par des appels _deprecated_function(). Le second argument trigger_error() n'est pas utilisé. Il utilise par conséquent E_USER_NOTICE et n'empêche pas votre application de s'exécuter.

Comment l'éteindre ...

Vous pouvez désactiver ceci en utilisant define( 'WP_DEBUG', false ); ou en utilisant un plug-in MU qui définit le filtre sur false:

<?php
defined('ABSPATH') or exit;
/** Plugin Name: (#105686) Turn off deprecated Warnings */
add_filter( 'deprecated_function_trigger_error', '__return_false' );
2
kaiser