Hola, @gigasize777. Supongo que estarás usando el hook login_enqueue_scripts
a propósito para cargar ese estilo sólo en la página de login, en caso contrario, tendrías que usar el hook wp_enqueue_scripts
para que tu estilo se cargue en todo tu sitio.
¿Puedes mostrarnos ese condicional donde estás intentando cargar la función?
Por otro lado, te recomiendo que no uses CSS en PHP, aunque es un código pequeño, pero no es una buena práctica. Quizá sea mejor buscar el archivo de estilos de tu tema y cargar esa función añadiendo alguna clase que identifique a la página de login, como la que estás usando body.login
.
Espero que te haya servido de ayuda, un saludo.
Si solo busco modificar el login, aqui te dejo el codigo IF
<?php
if ( $test_option == 'yes' ) {
echo 'Encendido';
add_action( 'login_enqueue_scripts', 'my_custom_login_stylesheet' );
}
else {
echo 'Apagado';
}
}
Ese código no me dice mucho más, ¿que hay en la variable test_option? ¿Puedes poner el contenido del archivo al completo?
aqui te pongo el codigo completo:
<?php
function my_custom_login_stylesheet() {?>
<style type="text/css">
body.login div#login p#backtoblog {
display: none;
}
</style>
<?php
}
defined( 'ABSPATH' ) || exit;
if ( ! class_exists( 'MP_Test_Plugin' ) ) :
class MP_Test_Plugin {
public function __construct() {
add_action( 'admin_menu', array( $this, 'setup_menu' ) );
add_action( 'admin_init', array( $this, 'register_options' ) );
}
public function setup_menu() {
add_menu_page( 'Test Plugin Page', 'Test Plugin', 'manage_options', 'test-plugin', array( $this, 'test_menu_page' ), 'dashicons-smiley' );
}
public function test_menu_page() {
if ( isset( $_POST['option_page'] ) && $_POST['option_page'] == 'mp_settings_group' ) {
if ( isset( $_POST['test_init'] ) ) {
update_option( 'test_init', 'yes' );
} else {
update_option( 'test_init', 'no' );
}
}
$test_option = get_option( 'test_init', 'no' );
?>
<div class="wrap">
<h1>Plugin</h1>
<form method="post">
<?php settings_fields( 'mp_settings_group' ); ?>
<?php do_settings_sections( 'mp_settings_group' ); ?>
<input type="checkbox" name="test_init" value="<?php echo $test_option; ?>" <?php checked( $test_option, 'yes' ); ?> id="test_init" /><label for="test_init"> Activado?</label>
<?php submit_button(); ?>
</form>
</div>
<?php
if ( $test_option == 'yes' ) {
echo 'Activado';
add_action( 'login_enqueue_scripts', 'my_custom_login_stylesheet' );
}
else {
echo 'Desactivado';
}
}
public function register_options() {
register_setting( 'mp_settings_group', 'test_init' );
}
}
endif;
if ( is_admin() ) {
new MP_Test_Plugin();
}
Hola, @gigasize777. Disculpa que te moleste de nuevo, pero ese código está incompleto y lleno de errores. No veo por ningún lado el hook login_enqueue_scripts
. Quizá puedas subir todo tu código a algún repositorio, como GitHub y ahí podamos mirarlo. Aunque no brindamos consultoría técnica en el foro, pero intento ayudarte para descubrir dónde está el problema, pero sin la información necesaria poco puedo hacer.
Un saludo.
Si en efecto no se esta usando «login_enqueue_scripts» pero asi lo borre no cambia nada sigue sin funcionar lo que quiero es llamar la funcion «my_custom_login_stylesheet» adentro de ese IF, ese es todo el codigo que tengo