La prochaine WordPress 2.6 utilize nouveaux définis par l'utilisateur constante pour des critiques du système les paramètres des répertoires. Cette nouvelle amélioration mai sembler un petit "changement" mais développeur du plug-in contexte, il peut être une catastrophe imminente. wp-config et wp-chargement des fichiers
La plupart dépendent de plugin "chemin absolu" pour wordpress système de fichier (wp-config.php). Ainsi, le problème est là.
Lester-chan (GamerZ) a ceci à dire concernant le nouveau WordPress 2.6 constant changement.
La seule constante se charger lorsque vous charge de travail. Plugins problème sera de trouver wp-config.php ou wp-blog-header.php du fichier plugin.
pourrait être brisé en PT 2.6
require_once ('../../../ wp-config.php ');Longue histoire, à court
Ci-dessous est ma solution rapide pour l'activation d'installation de plugin. Ce n'est pas la meilleure solution, car il s'agit de la sale «write-autorisation", il faut améliorer. Si vous avez l'intention de l'utiliser, il ya quelques étape préliminaire à mettre en premier: - ↓
- Accédez à votre plugin dir
- créer un fichier php vide: constant.php
- copier coller le code ci-dessous l'enregistrer comme nouveau fichier relatif à la constant.php
- Créer ou définir votre. htaccess et ajouter des options All-Indexes.
Custom wp fichier de configuration
my_plugin_write_config fonction () ( $ constante = get_defined_constants (true); user_defined $ = $ constant [ 'user']; unset ($ constant); $ constante = array (); / / En supposant que toutes les dernières wordpress CONSTANT commencer par WP_ wp_constant_prefix $ = "/ WP_ /"; foreach ($ user_defined que $ k => $ v) ( if (preg_match ($ wp_constant_prefix, $ k)) ( $ constante [$ k] = $ v; ) ) unset ($ user_defined); $ constant [ 'ABSPATH'] = (strtr (realpath (ABSPATH), array ( "\ \", DIRECTORY_SEPERATOR))); $ constant [ 'WPINC'] = WPINC; $ constant [ 'WP_VERSION'] = get_bloginfo ( 'version'); $ constante = array_map ( 'json_encode', $ constant); my_plugin_config_file $ = dirname (__FILE__). DIRECTORY_SEPARATOR ". constant.php '; if (is_writeable ($ my_plugin_config_file)) ( $ content = "<? php if (! défini (« MY_PLUGIN_TOKEN ')) die ( «42»); \ n "; foreach ($ constant de $ k => $ v) ( $ content .= sprintf ( 'define (' CONST_% 1s \ ',% 2s); ", strtoupper (en milliers de $), $ v)." \ n "; ) unset ($ constant, k $, $ v); .= $ content "?>"; $ fp = false; if (($ fp = fopen ($ my_plugin_config_file, 'w +'))! = false) ( stream_set_blocking ($ fp, TRUE); stream_set_timeout ($ fp, 5); stream_set_write_buffer ($ fp, 0); fwrite ($ fp, $ content); fclose ($ fp); ) unset ($ content, $ my_plugin_config_file, $ fp); ) Else ( add_action ( 'admin_notices',' my_plugin_notification '); ) ) my_plugin_notification fonction () ( ?> <div Id="message" CLASS="error"> <h3> <? php _e ( 'ERR')?> </ h3> <p> <a href="http://doc.myplugin.com"> <? _e ( 'RTFM! ");?> </ a> </ p> </ div> <? php ) register_activation_hook (__FILE__, 'my_plugin_write_config'); add_action ( 'update_option_siteurl', 'my_plugin_write_config'); add_action ( 'update_option_home', 'my_plugin_write_config');
Fondamentalement, ce script va rechercher tous définis par l'utilisateur constante qui commencent par "WP_" préfixe, plus d'autres wordpress constante. Ensuite, il va écrire toutes ces constante à l'intérieur du disque "constant.php" (une fois). Il gère également, après une WordPress option a été mise à jour (lorsque l'utilisateur active la mise à jour des paramètres pour la maison et siteurl, je ajouter le crochet d'une action supplémentaire juste pour exemple).
Fonctions dépréciées
Sur l'ensemble de cette question je pense encore WordPress comme l'un des meilleurs "back-compat amicale" CMS. La plupart de l'héritage et les fonctions variables (depuis la version 0.71> = 2.5) est toujours disponible à l'intérieur du système WordPress (wp-includes/deprecated.php). Vous ne savez pas combien de temps il va rester là-bas ..
Pourraient être intéressés










N ° Responses to "PT 2.6 définis par l'utilisateur constant"
Si vous voulez faire des commentaires, s'il vous plaît lire les lignes directrices suivantes. Elles sont destinées à vous protéger, vous et les autres utilisateurs du site.
Afin de tenir ces expériences agréables et intéressantes pour tous nos utilisateurs, nous vous demandons de suivre les orientations ci-dessus. N'hésitez pas à participer, poser des questions, et dites-nous ce que vous pensez! observations sont plus les bienvenus.
Soyez le premier à commenter.