Annonce

Faites la différence entre le service WordPress.com et l'application libre WordPress.

Mettez-vous à jour ! WordPress 3.3.2 est disponible en français.

Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.
Annonce 4 : Rejoignez-nous sur Facebook, Google + et sur Twitter

#1 11-01-2012 14:54:28

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

[Résolu] bootstrapwp

Bonjour,

Ma configuration WP actuelle
- Version de WordPress : 3.3.1
- Version de PHP/MySQL : 5+
- Thème utilisé : bootstrapwp
- Extensions en place :
- Nom de l'hebergeur :
- Adresse du site :

Problème(s) rencontré(s) :

J'ai installé boostrapwp comme thème.

J'ai créé un thème enfant, et j'ai inséré dans mon répertoire mon fichier style.css (fichier que j'avais déjà auparavant travaillé à partir du framework bootstrap from twitter, sans connaissance du thème existant pour WP).

Dans le thème parent, le fichier style.css est vide mais dans le fichier functions.php on découvre ceci :

Code: html

/**
 * Load compiled LESS files as bootstrap.css 
 */
  function bootstrapwp_css_loader() {
      wp_enqueue_style('bootstrap.css', get_template_directory_uri().'/lib/bootstrap.css', false ,'1.0', 'all' );
     wp_enqueue_style('wordpress.css', get_template_directory_uri().'/lib/wordpress.css', false ,'1.0', 'all' );
      }    
      add_action('wp_enqueue_scripts', 'bootstrapwp_css_loader');
/**

Comment supplanter ces deux fichiers CSS par le mien car je n'arrive pas à ce que mon fichier CSS soit lu ?

Dernière modification par Interned (11-01-2012 14:55:22)

Hors ligne

 

#2 07-02-2012 10:21:17

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

Mon thème enfant n'est toujours pas détecté, le fichier style.css ainsi que des fichiers template en remplacement de certains fichiers parents (sauf le functions.php, bien entendu) ne sont pas pris en compte.

Récemment, la version de Bootstrapwp a été mise à jour. Désormais dans le fichier parent functions.php, il y a ceci :

Code: html

**
 * Load all CSS files in the currect order!
 */
  function bootstrapwp_css_loader() {
  wp_enqueue_style('bootstrap.css', get_template_directory_uri().'/css/bootstrap.css', false ,'1.0', 'all' );
  wp_enqueue_style('docs.css', get_template_directory_uri().'/css/docs.css', false ,'1.0', 'all' );
  wp_enqueue_style('prettify.css', get_template_directory_uri().'/css/prettify.css', false ,'1.0', 'all' );
  wp_enqueue_style('style.css', get_template_directory_uri().'/style.css', false ,'1.0', 'all' );
      }     
      add_action('wp_enqueue_scripts', 'bootstrapwp_css_loader');
/**

Le header.php est :

Code: html

<?php
get_header(); ?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
  <head>
    <title><?php
  /*
   * Print the <title> tag based on what is being viewed.
   */
  global $page, $paged;

  wp_title( '|', true, 'right' );

  // Add the blog name.
  bloginfo( 'name' );

  // Add the blog description for the home/front page.
  $site_description = get_bloginfo( 'description', 'display' );
  if ( $site_description && ( is_home() || is_front_page() ) )
    echo " | $site_description";
  // Add a page number if necessary:
  if ( $paged >= 2 || $page >= 2 )
    echo ' | ' . sprintf( __( 'Page %s', 'bootstrapwp' ), max( $paged, $page ) );
  ?></title>
    <meta charset="<?php bloginfo( 'charset' ); ?>" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="profile" href="http://gmpg.org/xfn/11" />
    <?php if ( is_singular() && get_option( 'thread_comments' ) ) wp_enqueue_script( 'comment-reply' ); ?>
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>" />
    <!-- Le fav and touch icons -->
    <link rel="shortcut icon" href="images/favicon.ico">
    <link rel="apple-touch-icon" href="images/apple-touch-icon.png">
    <link rel="apple-touch-icon" sizes="72x72" href="images/apple-touch-icon-72x72.png">
    <link rel="apple-touch-icon" sizes="114x114" href="images/apple-touch-icon-114x114.png">
    <?php wp_head(); ?>
  </head>

Je n'arrive pas à comprendre comment est appelé le fichier .CSS dans le header, la formule dans functions.php suffit ? De plus, si dans un fichier functions.php que je créé et que j'y mets le code suivant :

Code: html

<?php wp_enqueue_style('style.css', get_template_directory_uri().'/bootstrapwp-child/style.css', false ,'1.0', 'all' ); ?>

, mon fichier n'est toujours pas lu.

Comment remédier à ce problème de lecture du thème enfant ?

Dernière modification par Interned (07-02-2012 10:24:44)

Hors ligne

 

#3 07-02-2012 10:39:01

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

As tu regardé dans le codex la fonction get_template_directory_uri?
elle retourne le répertoire dans lequel est installé le thème (thème principal ou thème parent)

Retrieve template directory URI for the current theme. Checks for SSL.

Note: Does not contain a trailing slash.

In the event a child theme is being used, the parent theme directory URI will be returned, use get_stylesheet_directory_uri() to get the child theme directory URI.

pour obtenir ce que tu veux, a la place de

get_template_directory_uri().'/bootstrapwp-child/style.css'

sers toi de

get_stylesheet_directory_uri().'/style.css'

De manière générale, c'est une bonne pratique d'aller voir ce que font les fonctions dans le Codex.

Hors ligne

 

#4 07-02-2012 10:46:28

Free Bird
Bavard WP
Date d'inscription: 22-06-2009
Messages: 249

Re: [Résolu] bootstrapwp

C'est vrai Guy, mais c'est plus facile pour ceux qui pigent ces routines que pour d'autres.

Moi j'y suis allé, et je n'y comprends.... RIEN. C'est en anglais, je n'ai pas la sensibilité code, rien ne me parle. Donc effectivement c'est bien d'y renvoyer, c'est là que se trouvent bien des choses, mais après, c'est très limité selon la compréhension de chacun et l'anglais complique encore les choses.

Heureusement toi et les autres, justement, êtes là car sinon, des billes comme moi en code seraient tout simplement passés à autre chose.

Hors ligne

 

#5 07-02-2012 11:01:34

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

Merci Guy pour ton conseil, je n'avais pas fait attention au changement de code.

Malgré tout, ça bloque toujours. J'ai effectué le changement dans mon fichier functions.php :

Code: html

<?php wp_enqueue_style('style.css', get_stylesheet_directory_uri().'/style.css', false ,'1.0', 'all' ); ?>

. Et rien ne se passe (j'ai mis dans mon fichier style.css h1{color:red;} pour faire le test).

Hors ligne

 

#6 07-02-2012 11:04:14

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

arf, oui j'ignore complétement si la page existe en français, et... de toute façon, les traductions ne sont pas complétement exemptes de fautes.

Ce qui n’empêchera pas de renvoyer vers le codex, parce que c'est là que sont toutes les explications smile, il est possible qu'en te familiarisant avec ces notions, elles arrivent à t’évoquer quelque chose.

Hors ligne

 

#7 07-02-2012 11:11:36

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

Quelle est l'adresse du site? d'autre part, tu as déjà un css nommé style.css, renommes le tien et appelle

wp_enqueue_style('mon_style.css', get_stylesheet_directory.......


d'autre part, où est appelée cette fonction?

Hors ligne

 

#8 07-02-2012 11:23:23

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

J'ai renommé mon fichier .CSS et modifié en conséquence, dans mon fichier functions.php :<?php wp_enqueue_style('mars.css', get_stylesheet_directory_uri().'/mars.css', false ,'1.0', 'all' ); ?>.

Quand tu demandes "où est appelée cette fonction ?", justement je ne la vois pas appeler dans le header.php parent, pour ça que j'ai recopié le head du header.php parent. Afin de vous le montrer.

Dernière modification par Interned (07-02-2012 11:25:12)

Hors ligne

 

#9 07-02-2012 11:38:26

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

où est écrit le code que tu viens de donner? (<?php wp_enqueue_style('mars.css', get_stylesheet_directory_uri().'/mars.css', false ,'1.0', 'all' ); ?>)

le fichier css en lui-même ne devrait pas être renommé, d'ailleurs en le renommant, théoriquement ton thème enfant ne devrait plus fonctionner, c'est uniquement l'identifiant qui doit être renommé, le premier paramètre de la fcontion.

Hors ligne

 

#10 07-02-2012 11:43:08

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

Edit : <?php wp_enqueue_style('mars.css', get_stylesheet_directory_uri().'/style.css', false ,'1.0', 'all' ); ?> cette ligne de code se trouve donc dans le fichier functions.php enfant que j'ai créé.

Question sinon : la modif du premier paramètre 'mars.css' n'a-t-elle pas besoin d'être reportée ailleurs ? Ou est-ce suffisant ainsi : "chope le fichier enfant style.css à qui tu affectes comme identifiant "mars.css" car il y a déjà un fichier style.css dans le dossier parent" ? C'est à peu près cela ?

Dernière modification par Interned (07-02-2012 12:10:58)

Hors ligne

 

#11 07-02-2012 14:19:36

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

Incorrect Use of wp_enqueue_style(). Used in wp-content/themes/bootstrapwp-child/functions.php on line 1.
Les scripts et les styles ne peuvent pas être enregistrés ou ajoutés avant le déclenchement des crochets wp_enqueue_scripts, admin_enqueue_scripts ou init.

Pas très bien saisi cette précision : le déclenchement des crochets n'est pas déjà effectif dans le fichier functions.php parent ? Faudrait-il ajouter qqc avant dans le fichier éponyme enfant ?

Dernière modification par Interned (07-02-2012 14:28:14)

Hors ligne

 

#12 07-02-2012 18:09:40

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

bon... la référence est dans le codex et donne un exemple pour charger des fichiers de style :
http://codex.wordpress.org/Function_Ref … ueue_style

Dans ton cas ca sera :

Code: html

function mars_css_loader() 
{
  wp_enqueue_style('mars_css', get_stylesheet_directory_uri().'/mars.css');
}     
add_action('wp_enqueue_scripts', 'mars_css_loader');

Hors ligne

 

#13 08-02-2012 10:04:50

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

C'est très aimable à toi d'avoir consulté le Codex, je l'avais aussi regardé mais je n'y ai pas obtenu réellement de solution. D'ailleurs, la fonction que tu proposes malheureusement ne fonctionne pas : si je mets une nouvelle règle de style dans mon fichier CSS, je n'obtiens aucun changement.

Bref, je laisse tomber pour le thème enfant, je vais directement travailler sur le framework. Je ferai attention pour les mises à jour.

P.S : la création d'un thème enfant est censée être simple, et, de façon générale, elle l'est ; puisqu'avec d'autres thèmes ça ne pose aucun souci, la création du fichier style.css suffit, il n'y a pas besoin d'aller manipuler du code PHP pour que les nouvelles règles CSS soient prises en compte.

Hors ligne

 

#14 08-02-2012 10:19:18

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

Créer un thème enfant n'est pas extrêmement difficile, mais effectivement cela demande généralement un peu de connaissances informatiques et comme beaucoup de choses en informatique, cela demande aussi de pouvoir comprendre l'anglais.

Je comprends que puisque tu ne réunis aucune des deux conditions (selon tes dires) cela puisse ne pas être simple. Tu risques tout de même d'aller au devant de complications si le thème fait des mises à jours régulières.

Hors ligne

 

#15 08-02-2012 10:43:18

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

Je crois que tu confonds avec quelqu'un qui est intervenu dans le sujet car je comprends assez bien l'anglais.

Je ne suis pas rebuté à toucher au code PHP non plus ; j'y suis obligé de toute façon et ça ne me gêne pas trop de le manipuler en fait (bien que je n'en sois pas un expert, loin de là). Par contre, ce qui m'agace c'est quand une procédure censée être simple - telle que la création d'un thème enfant - complique les choses et fait perdre beaucoup de temps. Admettons qu'exceptionnellement, il faille ajouter une ligne de code dans le fichier enfant functions.php pour faire fonctionner un thème enfant. Mais là, j'ai fait plusieurs tentatives... en vain.

Donc si quelqu'un utilise ce framework ou veut s'amuser à le manipuler, franchement qu'il me fasse signe s'il arrive à créer un thème enfant.

Dernière modification par Interned (08-02-2012 10:44:53)

Hors ligne

 

#16 08-02-2012 10:53:29

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

lol oui, ce n’était pas toi qui avait répondu sur le code et l'anglais smile c'était freebird, comme quoi je comprend ce que je veux bien comprendre.

Je vais voir si le thème est gratuit et si il pose des problème pour la gestion des thèmes enfants.

Hors ligne

 

#17 08-02-2012 12:11:50

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

Bien, j'ai regardé. Effectivement le code du thème est "mal" codé et ne permet pas de définir un thème enfant tel que Wordpress l'a préconisé.

Pour se servir d'un thème enfant "normalement" au niveau des css, il faut aller modifier le thème parent, fichier functions.php et changer la ligne:

wp_enqueue_style('style.css', get_template_directory_uri().'/style.css', false ,'1.0', 'all' );

en

wp_enqueue_style('style.css', get_stylesheet_directory_uri().'/style.css', false ,'1.0', 'all' );

Je pense qu'il serait bon d'en avertir les auteurs et qu'ils incluent dans leurs tests de validation la création d'un thème enfant.

Sinon, sans rien changer au thème parent (ce qui est quand même le but d'un thème enfant).

J'ai mis dans le fichier fucntions du thème enfant:

Code: html

<?php

function my_css_loader() {
	wp_enqueue_style('my_style.css', get_stylesheet_directory_uri().'/style.css');
	wp_enqueue_style('mars_style.css', get_stylesheet_directory_uri().'/mars.css');
}     
add_action('wp_enqueue_scripts', 'my_css_loader');
 
?>

un fichier style.css classique:

Code: html

/*
Theme Name:     Bootstrap Child
Theme URI:      http: //example.com/
Description:    Child theme for wpbootstrap 
Author:         Your name here
Author URI:     http: //example.com/about/
Template:       bootstrapwp
Version:        0.1.0
*/

@import url("../bootstrapwp/style.css");

.container{
	background-color:#FFC;
}

et en bonus un fichier mars.css

Code: html

.container a{
    color: #009900;
	background-color: #3C9;
}

évidement les couleurs ne sont là que pour mettre en évidence que cela fonctionne.

Hors ligne

 

#18 08-02-2012 14:06:57

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

Un grand merci à toi, Guy ! bravo

Effectivement, il faut ajouter les lignes de code que tu as indiqué dans le fichier functions.php du thème enfant pour ne pas avoir d'erreur repérée par le plugin Log Deprecated Notices.

Dernière modification par Interned (08-02-2012 14:34:32)

Hors ligne

 

#19 08-02-2012 14:30:31

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

lol, non, il y a effectivement un problème dans le thème parent, il n'est pas normal de devoir recharger explicitement le css du thème enfant. La documentation précise la procédure à suivre, c'est a dire faire le fichier css, importer celui du parent puis ajouter ses propres styles.

Mais pour que cela marche, il faut que le thème parent ne passe pas outre, ce qu'il fait en ce moment.

Hors ligne

 

#20 08-02-2012 14:39:13

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

S'il y a préconisation de la suppression de l'import du fichier CSS parent dans le thème enfant, la raison invoquée est celle de permettre une meilleure performance du moteur de WP. C'est ce que j'avais lu quelque part à propos de ce framework. Mais du coup, oui, la création d'un thème enfant est moins "facile".

Hors ligne

 

#21 08-02-2012 14:57:10

Guy
Blogueur
Date d'inscription: 07-04-2011
Messages: 6772

Re: [Résolu] bootstrapwp

Mouais... je ne suis pas convaincu par cet argument qui pour moi ressemble beaucoup à un "je ne l'avais pas remarqué et de toute façon je ne vais pas m'en occuper, je vais dire que c'est pour améliorer les performances".

De toute façon, à mon avis il faudrait soit qu'ils disent clairement qu'ils ne sont pas conformes au standard dans leur doc, soit qu'ils corrigent.

Hors ligne

 

#22 08-02-2012 15:05:35

Interned
Bavard WP
Date d'inscription: 23-11-2011
Messages: 151

Re: [Résolu] bootstrapwp

[Sujet Résolu]

Hors ligne

 

Pied de page des forums

Propulsé par PunBB 1.2.23
© Copyright 2005-2006 WordPress France

[ Generated in 0.068 seconds, 29 queries executed ]