28172 sujets

CSS et mise en forme, CSS3

Bonjour,
je suis nouvelle sur ce forum et j'avoue même sur wordpress.
J'ai réalisé un site avec un thème Premium et j'ai crée un thème enfant où j'ai les fichiers style.css et functions.php
Je veux réaliser une section du site où je vais tout chambouler dans le style css en commençant par le body{background} etc., elle doit porter d'autres couleurs et d'autres images et d'autres widgets, etc. Enfin, je dois pouvoir tout changer comme je veux dans mes nouvelles pages. En réalité un multisite serait la bonne solution, mais l'hébergeur ne me le permet pas en mutualisé (1&1), voilà pourquoi cette idée de deuxième css.
J'ai pensé de créer des fichiers templates ou alors un nouveau répertoire dans mon thème enfant? je suis un peu confuse, j'avoue... de plus, où et comment charger ces feuilles de style et comment les faire fonctionner à l'occurrence sur un template, ou une catégorie, ou...?
J'avoue que j'ai passé bien du temps à chercher en ligne une solution.
Je suis en train de tester un code avec la function wp_register_style() de wordpress.
Quelques uns pourrait m'aider et m'éclaircir les idées? Merci
Bonjour,

Vous dites "d'autres couleurs" je pense CSS, "d'autres images" je pense bibliothèque WP, "d'autres widget" je pense admin WP.
Je ne sais pas si vous voulez tout coder vous même ou si vous acceptez les plugins externes, mais il semble qu'il en existe permettant le multi-thèmes. Personnellement jamais essayé, mais à étudier maybe voire leur fonctionnement pour le reproduire en plus simple.
Bonjour Manhattan,
merci pour la réponse.
En réalité je ne sais pas comment enregistrer un fichier style2.css et le faire entrer en action sur certaines pages, ou sur les plugins de ces pages, ou les posts de cette section etc.
Je n'aurai pas besoin de coder le reste car je veux garder le thème, il est très souple, mais juste changer le style sur les éléments communes à tout le site:
body
header
footer
h1, h2, h3, etc
et les différencier sur une partie du site.
J'ai eu une suggestion pour mettre à false le fichier style.css dans le fichier du thème enfant functions.php que je dois tester, mais comment charger style2.css et le faire lire sur une partie du site?
J'ai trouvé un plugin qui change de thème pour un même site, mais je n'ai pas besoin de changer de thème.
Voilà. Je ne sais pas si c'est claire.
Merci encore.
Modifié par autreK (06 Jul 2016 - 20:08)
Voici ce que j'ai fait jusque là:
sur la page wordpress codex j'ai compris comment enregistrer un style et j'ai adapté, voici comment:

//Enregistre une feuille de style
function wpdocs_register_styles(){
wp_register_style( 'child-theme', styles_url( 'stylepro.css' ));
wp_enqueue_style( 'child-theme');
}
// Enregistrer la feuille de style.
add_action( 'wp_enqueue_scripts', 'wpdocs_register_styles' );

et là j'ai une erreur:
Fatal error: Call to undefined function styles_url() in ...
Ça veut dire? Je dois mettre quelle url sinon celle de mon deuxième style?
Merci si quelqu'un peut m'aider à comprendre.
Modifié par autreK (07 Jul 2016 - 07:36)
J'avoue que je n'arrive pas bien à voir l'étendue de la sous-partie qui doit être différente parce que moi je n'utiliserais que ma feuille de style principale. Avec un css propre cela ne devrait pas prendre cent mille lignes.

Sinon, ça par exemple ?

//Enqueue
function wpdocs_register_styles(){
	// Test sur le template par exemple 
	if (is_page_template('specialTemplate.php')) {
		wp_enqueue_style( 'stylePro', get_template_directory_uri() . '/dossierEventuel/stylepro.css', '1.5.9', 'all');
	}
}
// Enregistrer la feuille de style.
add_action( 'wp_enqueue_scripts', 'wpdocs_register_styles' );
Merci beaucoup je vais essayer sur un template.

je cite:
"moi je n'utiliserais que ma feuille de style principale. Avec un css propre cela ne devrait pas prendre cent mille lignes"

je ne comprends pas ce vous voulez dire:
Si je fait tout mon style sur le même fichier style.css j'aurais des doubles
par exemple:
body {background: #FFF;}
et aussi
body {background: #000;}
etc.

j'avais peut être mal expliqué les choses, désolée.
Merci encore
Modifié par autreK (07 Jul 2016 - 17:14)
Nope.

On ajoute les classes qu'on veut au body :


/* Ajouter les classes qu'on veut sur les custom templates (par exemple)
---------------------------------------------------------------------------------------------------------------------- */

add_filter('body_class','my_add_this_classes');

function my_add_this_classes($classes) {
    //Si la page en cours utilise le template de ce que je veux 
    if(is_page_template('mondossierdestemplates/mon_template.php')){

        // Ajout des classes
        $classes[] = 'maClassQuiVaBien';
        $classes[] = 'uneAutreSiJeVeux';

    }

    // Tableau des classes renvoyé
    return $classes;
}


Et avec une classe sur le body on peut surcharger ce qu'on veut ^^

M'enfin tout dépend ensuite de l'étendue de la surcharge. Smiley smile
Smiley smile merci beaucoup, je travaillerai sur toutes ces belles info.
Je reviens si j'ai des soucis.
Merci encore.
De rien. Par contre Tention : Je n'ai pas dit que la solution d'une seule feuille de style était obligatoirement la meilleure. Il faut voir en fonction des besoins. Mais en tout cas il est possible de faire ainsi.
^^