Tengo mi style.phparchivo con este aspecto.
<?php header('Content-Type: text/css');?>
#div{
background:<?php echo get_option('bgcolor');?>;
}
Esto no funciona, pero cuando hago esto funciona.
<?php header('Content-Type: text/css');?>
#div{
background: <?php echo 'blue';?>;
}
¿Cuál sería el problema?
Este es el mainfile.php
<?php
function test(){
global get_option('bgcolor');?>
<input type="text" id="bgcolor" name="post_popup_settings[bgcolor]" value="<?php echo get_option('bgcolor');?> " />
<?php
}
add_action('admin_head','test');
Esto está realmente en la sección de administración.

style.php. Si WordPress no llama al archivo de estilo, no hay función de WordPress disponible.Respuestas:
Las funciones de WordPress están disponibles solo si WordPress está cargado. Si llama
style.phpdirectamente, no puede usar una función de WordPress.Una forma sencilla de cargar WordPress para su hoja de estilo controlada por PHP es agregar un punto final a WordPress: una URL personalizada y reservada donde carga su archivo de plantilla.
Para llegar hay que:
Registre un punto final
'init'conadd_rewrite_endpoint(). Vamos a nombrarlo'phpstyle'.Conéctese
'request'y asegúrese de que la variable de punto final'phpstyle'no esté vacía si está configurada. Lea la excelente Guía completa de Christopher Davis (principalmente) de la API de reescritura de WordPress para comprender lo que está sucediendo aquí.Conéctese
'template_redirect'y entregue su archivo en lugar del archivo de plantilla predeterminadoindex.php.Para mantener las cosas cortas, combiné los tres pasos simples en una función en el siguiente complemento de demostración.
Plugin PHP Style
Instale el complemento, visite
wp-admin/options-permalink.phpuna vez para actualizar las reglas de reescritura y agregue unstyle.phpa su tema.Muestra
style.phpAhora visita
yourdomain/phpstyle/. Salida:Pero si vas a
yourdomain/phpstyle/blue/la salida es:Por lo tanto, puede usar el punto final para entregar diferentes hojas de estilo con un archivo dependiendo del valor de
get_query_var( 'phpstyle' ).Advertencia
Esto ralentizará su sitio. WordPress tiene que cargarse dos veces por cada visita. No lo hagas sin un almacenamiento en caché agresivo.
fuente
get_query_var( 'phpstyle' ) AND ! defined( 'SHORTINIT' ) AND define( 'SHORTINIT', true )acelerar las cosas ... y si entonces todas las funciones necesarias están disponibles ...Puede hacer esto cargando la salida a través de
admin-ajax.php, pero un mejor enfoque para eso es usar laSHORTINITconstante de WordPress para que pueda cargar las funciones que necesita, pero necesitará encontrar y cargarwp-load.phppara hacer esto:En este punto se necesita para asegurarse de incluir cualquier otro
wp-includesarchivos que necesita para obtener sus opciones de tema - que variarán dependiendo de su forma va a guardar y acceder así a los. (Probablemente necesitará agregar más a esta lista para que no obtenga errores fatales, pero a medida que avanza, los errores fatales le indicarán qué archivos debe agregar).Luego, una vez que tenga todas las funciones que necesita, puede generar el CSS utilizando esas funciones ... por ejemplo.
Luego puede poner en cola el archivo de la forma habitual, por ejemplo:
fuente
../../en elwp-load.phpcamino, la función dada lo encontrará por usted tal como está ... pero como dije, necesita encontrar e incluir cualquier archivo que necesite que tenga las funciones que está utilizando, por ejemplo.get_background_imageestá entheme.phpetc ... a medida que agrega al CSS puede que necesite más, por lo que deberá aprender cómo encontrarlos para usar este método de manera efectiva y confiable.