WP 2.6 definida por el usuario constante conflicto Plugin

  • wp 2.6 plugin issue La próxima WordPress 2.6 introduce nuevas definida por el usuario constante de críticas concretas directorio del sistema de ajustes. Esta nueva mejora puede parecer como un pequeño "cambio", sino en el contexto de desarrolladores de plug-in puede ser un desastre inminente.

    wp-config y wp-carga de archivos

    La mayoría de plug-in dependerá de la "ruta absoluta" para wordpress sistema de archivo (wp-config.php). Por lo tanto, el problema está ahí.

    Lester-chan (Gamerz) tiene esto para decir sobre el nuevo WordPress 2.6 constante cambio.

    La constante sólo se cargan cuando se carga de WP. Plugins tendrá problemas para encontrar wp-config.php o wp-blog-header.php el plugin de archivo.

    puede ser roto en WP 2.6

      require_once ('../../../ wp-config.php '); 
    Historia larga, corta

    A continuación es mi forma de plugin para la activación rápida de instalación. Su no la mejor solución, ya que se trataba de la sucia "write-permiso", que necesitan mejorar. Si la intención de los usos, hay pocos paso preliminar que se establecerá en primer lugar: - ↓

    1. vaya a su plugin dir
    2. crear un archivo php en blanco: constant.php
    3. copiar pegar el siguiente código de guardarlo como archivo nuevo relativo a la constant.php
    4. crear o configurar su. htaccess y añadir opciones de todos los índices.
    Personalizar wp archivo de configuración
      my_plugin_write_config función () 
      ( 
    	  $ constante = get_defined_constants (true); 
    	  user_defined $ = $ constante [ 'usuario']; 
    	  unset ($ constante); 
    
    	  $ constante = array (); 
    
    	  / / Suponiendo que todos los últimos wordpress CONSTANTE comenzar con WP_ 
    	  $ wp_constant_prefix = "/ WP_ /"; 
    
    	  foreach ($ user_defined como $ k => $ v) ( 
    		  if (preg_match ($ wp_constant_prefix, $ k)) ( 
    			  $ constante [$ k] = $ v; 
    		  ) 
    	  ) 
    
    	  unset ($ user_defined); 
    
    	  $ constante [ 'ABSPATH'] = (strtr (realpath (ABSPATH), array ( "\ \", DIRECTORY_SEPERATOR))); 
    	  $ constante [ 'WPINC'] = WPINC; 
    	  $ constante [ 'WP_VERSION'] = get_bloginfo ( 'versión'); 
    
    	  $ constante = array_map ( 'json_encode', $ constante); 
    
    	  $ my_plugin_config_file = dirname (__FILE__). DIRECTORY_SEPARATOR ». constant.php '; 
    
    	  if (is_writeable ($ my_plugin_config_file)) 
    	  ( 
    		  $ contenido = "<? php if (! define ( 'MY_PLUGIN_TOKEN')) die ('42 '); \ n"; 
    
    		  foreach ($ constante como $ k => $ v) ( 
    			  $ content .= sprintf ( 'define (\' CONST_% 1s', 2S%); ', strtoupper ($ k), $ v). "\ n"; 
    		  ) 
    
    		  unset ($ constante, $ k, $ v); 
    
    		  contenido .= $ "?>"; 	
    
    		  $ 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, $ contenido); 
    			  fclose ($ fp); 
    		  ) 		
    
    		  unset ($ contenido, $ my_plugin_config_file, $ fp); 
    
    	  ) Else ( 
    		  add_action ( 'admin_notices',' my_plugin_notification '); 
    	  ) 
      ) 
    
      my_plugin_notification función () 
      ( 
      ?> <div Id="message" class="error"> 
    	  <h3> <? php _e ( 'ERROR')?> </ 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'); 
    

    Básicamente este script buscará todos los definidos por el usuario constante que comienzan con "WP_" prefijo, más adicionales wordpress constante. Luego, a escribir todas estas constantes en el disco dentro de "constant.php" (una vez). También se ejecuta después de una opción de WordPress se ha actualizado (activa cuando el usuario la configuración de actualización para el hogar y siteurl, añadir el extra de acción gancho justo por ejemplo).

    Ya Funciones

    Fuera de todo este asunto sigo pensando WordPress como uno de los mejores "back-compat amistosa" CMS. La mayor parte de la herencia y funciones de variables (desde la versión 0.71> = 2,5) que está disponible dentro del sistema de WordPress (wp-includes/deprecated.php). ¿No está seguro de cuánto tiempo permanecerá en él ..

    Podrían estar interesadas
    Sobre el Autor
     

No Responses to "WP 2.6 definida por el usuario constante"

    • Stalker de la foto Kaizeku prohibición
    • RE: WP 2,6 constante definida por el usuario - "Comentando Guidlines' ↓
      url 4 meses, 2 semanas, el miércoles, 2 de julio de 2008 a 4:55 pm 5 URL
      0%

      Si tiene algún comentario, por favor, lea las siguientes guidelines.These están diseñados para proteger a usted y otros usuarios del sitio.

      1. Ser pertinentes: Su comentario debería ser un aporte reflexivo al tema de la entrada. Mantenga sus comentarios constructivos y educado.
      2. No se insertará publicidad ni spam: No utilice la característica de comentario para promover entidades comerciales / productos, servicios afiliados o sitios web. A usted se le permite enviar un enlace siempre que es pertinente para la entrada.
      3. Mantenga dentro de la ley: No a la ofensiva de enlace o de contenido ilegal sitios web. No haga ninguna difamatorio o denigrante comentarios que puedan dañar la reputación de una persona u organización.
      4. Privacidad: No se debe publicar cualquier información personal relativa a usted oa cualquier otra persona - (es decir: dirección, lugar de trabajo, teléfono o número de teléfono móvil o dirección de correo electrónico).

      Con el fin de mantener estas experiencias agradable e interesante para todos nuestros usuarios, le pedimos que siga las Directrices. Siéntase libre para participar, hacer preguntas, y nos dicen lo que están pensando! perspicaces comentarios son la mayoría acogió con beneplácito.

      ser el primero en comentar.

"escribir como si estuviera hablando con un buen amigo (en frente de su madre)."

. Usted tiene la palabra

    • Correo electrónico no serán publicados.

Descargo de responsabilidad: Para cualquier contenido que usted post, usted otorga a Kaizeku la prohibición de la libre de regalías, irrevocable, perpetuo, exclusivo y totalmente sublicensable licencia para utilizar, reproducir, modificar, adaptar, publicar, traducir, crear trabajos derivados, distribuir, ejecutar y mostrar dicho contenido en su totalidad o en parte, en todo el mundo e incorporarlo en otros trabajos, en cualquier forma, los medios de comunicación o tecnología conocida ahora o desarrollada más adelante. Algunos derechos reservados.