- Statut : non résolu
- Ce sujet contient 33 réponses, 6 participants et a été mis à jour pour la dernière fois par Guy, le il y a 11 années et 5 mois.
-
AuteurMessages
-
3 juillet 2013 à 17 h 36 min #901145
J’ai trouvé beyond compare, ça devrait faire l’affaire. Je mange et je reviens tester.
3 juillet 2013 à 17 h 55 min #901146Voilà les différence que trouve Beyond Compare :
le thème original (parent de l’enfant) :
[c] * support for custom background
add_theme_support( ‘custom-background’ ); [/c]l’ex-thème actif :
[c] * Enable support for Post Thumbnails
add_theme_support( ‘post-thumbnails’ ); [/c]3 juillet 2013 à 18 h 35 min #901147je ne pense pas que cela soit vraiment le bon résultat.
Peux tu afficher ici les deux fichiers et en utilisant la balise code, le gros c noir au dessus. Tu te sers de la balise [c] ce n’est pas [ code ]
3 juillet 2013 à 21 h 15 min #901148@ Placard :
Je suis une ex-débutante, alors, ravie d’avoir pu t’aider pour créer ton thème-enfant 😉Quelques petites précisions pour compléter les infos de Guy et ce que tu as déjà découvert :
– surtout, conserve bien les thèmes Twenty-Ten, tewenty-Eleven et twenty Twelve (au moins les deux derniers). Ce sont des thèmes dits « par défaut » –> ils sont installés d’office avec toute nouvelle install’ de WordPress. C’est vrai que pour l’instant, ils ne te servent à rien pour ton thème Mog ni pour Mog-enfant, mais si un jour tu as un problème quelconque, le début du dépannage passe par une vérification du thème en activant un des thèmes par défaut ! Et là, tu seras content de l’avoir gardé.– le seul fichier indispensable pour le thème-enfant, c’est syle.css (et exactement celui-là, avec ce nom-là), tel que tu l’as construit avec les indications que j’ai données.
Mais tu peux ensuite rajouter tout autre fichier venant de ton thème de départ pour le modifier également : ça peut être le footer.php ou le 404.php, ou bien single.php ou bien encore le fichier main.css [quoique Guy semble dire que certains fichiers ne peuvent pas être « filialisés », alors j’ai un doute 😕 ]– Comme tu l’as constaté, tu peux y accéder directement par ton interface admin’, mais ce sont les originaux du thème-parent.
Le mieux, c’est de copier le fichier d’origine (par exemple, celui que tu conserves en sécurité sur ton ordi), et tu l’uploades dans ton dossier mog-enfant par Filezilla.
Et bien sûr, avant upload (ou après, en passant par Filezilla), tu apportes les modif’ que tu veux , sans oublier d’encoder en UTF8 sans BOM. Ensuite, tu retrouveras ce fichier dans ton éditeur du thème-enfant, directement.Tous ces fichiers-enfants seront prioritaires lors du chargement du thème : si un fichier-enfant existe, c’est lui qui est utilisé, en remplacement du fichier du thème d’origine. Par contre, si le fichier n’existe pas dans le dossier theme-enfant, WordPress va chercher le fichier dont il a besoin dans le thème-parent. (bien foutu, non ?)
Seul le fichier functions.php a un fonctionnement à part : le fichier functions.php situé dans le theme-enfant s’ajoute en quelque sorte au fichier functions du thème-parent. Ils se cumulent au lieu de se remplacer.
Guy t’a envoyé vers le Codex en anglais, mais (sauf si tu causes english very perfectly), je t’invite à lire la même page du Codex en français : elle est bien traduite et assez facile à comprendre.
Pour toute la suite de la procédure, Guy sera de bien meilleur conseil que moi.
3 juillet 2013 à 22 h 32 min #901149D’accord; voilà donc l’original :
__( ‘Primary Menu’, ‘mog’ ),
) );
/**
* Enable support for Post Formats
*/
add_theme_support( ‘post-formats’, array( ‘aside’, ‘image’, ‘video’, ‘quote’, ‘link’ ) );
}
endif; // mog_setup
add_action( ‘after_setup_theme’, ‘mog_setup’ );
/**
* Setup the WordPress core custom background feature.
*
* Use add_theme_support to register support for WordPress 3.4+
* as well as provide backward compatibility for WordPress 3.3
* using feature detection of wp_get_theme() which was introduced
* in WordPress 3.4.
*
* @todo Remove the 3.3 support when WordPress 3.6 is released.
*
* Hooks into the after_setup_theme action.
*/
function mog_register_custom_background() {
$args = array(
‘default-color’ => ‘ffffff’,
‘default-image’ => »,
);
$args = apply_filters( ‘mog_custom_background_args’, $args );
if ( function_exists( ‘wp_get_theme’ ) ) {
add_theme_support( ‘custom-background’, $args );
} else {
define( ‘BACKGROUND_COLOR’, $args[‘default-color’] );
if ( ! empty( $args[‘default-image’] ) )
define( ‘BACKGROUND_IMAGE’, $args[‘default-image’] );
add_custom_background();
}
}
add_action( ‘after_setup_theme’, ‘mog_register_custom_background’ );
/**
* Register widgetized area and update sidebar with default widgets
*
* @since Mog 1.0
*/
function mog_widgets_init() {
register_sidebar( array(
‘name’ => __( ‘Sidebar’, ‘mog’ ),
‘id’ => ‘sidebar-1’,
‘before_widget’ => ‘<aside id="%1$s" class="widget %2$s">‘,
‘after_widget’ => ‘</aside>‘,
‘before_title’ => ‘<h1 class="widget-title">‘,
‘after_title’ => ‘</h1>‘,
) );
}
add_action( ‘widgets_init’, ‘mog_widgets_init’ );
/**
* Enqueue scripts and styles
*/
function mog_scripts() {
wp_enqueue_style( ‘opensans’, ‘http://fonts.googleapis.com/css?family=Open+Sans’);
wp_enqueue_style( ‘josefinslab’, ‘http://fonts.googleapis.com/css?family=Josefin+Slab:600’);
wp_enqueue_style( ‘style’, get_stylesheet_uri() );
wp_enqueue_style( ‘main’, get_template_directory_uri() . ‘/main.css’ );
wp_enqueue_script( ‘small-menu’, get_template_directory_uri() . ‘/js/small-menu.js’, array( ‘jquery’ ), ‘20120206’, true );
if ( is_singular() && comments_open() && get_option( ‘thread_comments’ ) ) {
wp_enqueue_script( ‘comment-reply’ );
}
if ( is_singular() && wp_attachment_is_image() ) {
wp_enqueue_script( ‘keyboard-image-navigation’, get_template_directory_uri() . ‘/js/keyboard-image-navigation.js’, array( ‘jquery’ ), ‘20120202’ );
}
}
add_action( ‘wp_enqueue_scripts’, ‘mog_scripts’ );
/**
* Implement the Custom Header feature
*/
//require( get_template_directory() . ‘/inc/custom-header.php’ );et l’ex-actif :
__( ‘Primary Menu’, ‘mog’ ),
) );
/**
* Enable support for Post Formats
*/
add_theme_support( ‘post-formats’, array( ‘aside’, ‘image’, ‘video’, ‘quote’, ‘link’ ) );
}
endif; // mog_setup
add_action( ‘after_setup_theme’, ‘mog_setup’ );
/**
* Setup the WordPress core custom background feature.
*
* Use add_theme_support to register support for WordPress 3.4+
* as well as provide backward compatibility for WordPress 3.3
* using feature detection of wp_get_theme() which was introduced
* in WordPress 3.4.
*
* @todo Remove the 3.3 support when WordPress 3.6 is released.
*
* Hooks into the after_setup_theme action.
*/
function mog_register_custom_background() {
$args = array(
‘default-color’ => ‘ffffff’,
‘default-image’ => »,
);
$args = apply_filters( ‘mog_custom_background_args’, $args );
if ( function_exists( ‘wp_get_theme’ ) ) {
add_theme_support( ‘custom-background’, $args );
} else {
define( ‘BACKGROUND_COLOR’, $args[‘default-color’] );
if ( ! empty( $args[‘default-image’] ) )
define( ‘BACKGROUND_IMAGE’, $args[‘default-image’] );
add_custom_background();
}
}
add_action( ‘after_setup_theme’, ‘mog_register_custom_background’ );
/**
* Register widgetized area and update sidebar with default widgets
*
* @since Mog 1.0
*/
function mog_widgets_init() {
register_sidebar( array(
‘name’ => __( ‘Sidebar’, ‘mog’ ),
‘id’ => ‘sidebar-1’,
‘before_widget’ => ‘<aside id="%1$s" class="widget %2$s">‘,
‘after_widget’ => ‘</aside>‘,
‘before_title’ => ‘<h1 class="widget-title">‘,
‘after_title’ => ‘</h1>‘,
) );
}
add_action( ‘widgets_init’, ‘mog_widgets_init’ );
/**
* Enqueue scripts and styles
*/
function mog_scripts() {
wp_enqueue_style( ‘opensans’, ‘http://fonts.googleapis.com/css?family=Open+Sans’);
wp_enqueue_style( ‘josefinslab’, ‘http://fonts.googleapis.com/css?family=Josefin+Slab:600’);
wp_enqueue_style( ‘style’, get_stylesheet_uri() );
wp_enqueue_style( ‘main’, get_template_directory_uri() . ‘/main.css’ );
wp_enqueue_script( ‘small-menu’, get_template_directory_uri() . ‘/js/small-menu.js’, array( ‘jquery’ ), ‘20120206’, true );
if ( is_singular() && comments_open() && get_option( ‘thread_comments’ ) ) {
wp_enqueue_script( ‘comment-reply’ );
}
if ( is_singular() && wp_attachment_is_image() ) {
wp_enqueue_script( ‘keyboard-image-navigation’, get_template_directory_uri() . ‘/js/keyboard-image-navigation.js’, array( ‘jquery’ ), ‘20120202’ );
}
}
add_action( ‘wp_enqueue_scripts’, ‘mog_scripts’ );
/**
* Implement the Custom Header feature
*/
//require( get_template_directory() . ‘/inc/custom-header.php’ );3 juillet 2013 à 22 h 47 min #901150@Flogobo : tu as fort bien fait de me préciser de conserver les 3 thèmes, j’étais sur le point de les éradiquer, par vengeance ! Je les laisse où ils sont.
J’ai fini par comprendre le principe du fichier enfant. Il est malin, quand même, ce WordPress…
Par contre, l’import de main.css & Cie que j’ai tenté s’est révélé inopérant.
Je parle très mal l’anglais mais j’avais trouvé la version française en haut de la page. Par contre, je n’ai rien vu sur la comparaison des fichiers; alors j’ai fait une recherche et installé Beyond Compare; je ne sais pas si c’est un bon soft, mais je suis plutôt content de l’avoir trouvé; je sens que ça va me simplifier la vie.
J’ai la chance d’être encadré par un ex-débutante (je te trouve un peu modeste quand même…) et un pro de chez pro; si je n’y arrive pas, je reviens au boulier et j’arrête d’emm… le monde !…
4 juillet 2013 à 5 h 22 min #901151d’accord, on peut docn voir plusieurs choses, d’une part tu n’as fait que rajouter la prise en charge des miniatures et d’autre part, le thème n’a pas prévu que le fichier main.css puisse être appelé à partir d’un thème enfant (il va chercher explicitement le fichier dans le thème parent)
– Copier le fichier main.css modifié dans le répertoire du thème enfant (en fait il suffirait que ce nouveau fichier ne contienne que les règles modifiées)
– Créer un fichier functions.php dans le thème enfant et y placer:<?php
/**
* Theme enfant de Mog: functions and definitions
*/
function mes_options_setup() {
/**
* Enable support for Post Thumbnails
*/
add_theme_support( 'post-thumbnails' );
}
add_action( 'after_setup_theme', 'mes_options_setup' );
/**
* Enqueue scripts and styles
*/
function mes_scripts() {
wp_enqueue_style( 'mon_main', get_stylesheet_directory_uri() . '/main.css', array('main') );
}
add_action( 'wp_enqueue_scripts', 'mes_scripts' );lorsque cela sera fait et tournera sans erreurs, on passera au fichier header.php.
4 juillet 2013 à 6 h 07 min #901152C’est fait et, miracle, functions.php apparait maintenant dans l’éditeur ainsi que main css, et mon site ressemble à peu près à ce qu’il était !
J’y croyais plus…
4 juillet 2013 à 6 h 43 min #901153on va faire la même chose, comparer les fichiers header.php: celui du thème original et celui que tu avais modifié.
Il faut faire cela pour tous les fichiers que tu avais modifié.
4 juillet 2013 à 14 h 07 min #901154Ok. Voilà donc l’original header.php :
<?php
/**
* The Header for our theme.
*
* Displays all of the section and everything up till <div id="main">
*
* @package Mog
* @since Mog 1.0
*/
?>
<html >
<meta charset=" » />
<title></title>
<link rel="pingback" href=" » />
<!--[if lt IE 9]>-->
<script src="/js/html5.js » type= »text/javascript »>
<body >
<div id="page" class="hfeed site">
<header id="masthead" class="site-header" role="banner">
<hgroup>
<h1 class="site-title"><a href=" » title= » » rel= »home »></a></h1>
<h2 class="site-description"></h2>
</hgroup>
<nav role="navigation" class="site-navigation main-navigation">
<h1 class="assistive-text"></h1>
<div class="assistive-text skip-link"><a href="#content" title=" »></a></div>
‘primary’,
‘container_class’ => ‘menu’,
‘menu_class’ => »,
‘fallback_cb’ => ‘fallback_nav’) ); ?>
</nav><!-- .site-navigation .main-navigation -->
</header><!-- #masthead .site-header -->
<div id="main" class="site-main">et l’ex-actif :
<?php
/**
* The Header for our theme.
*
* Displays all of the section and everything up till <div id="main">
*
* @package Mog
* @since Mog 1.0
*/
?>
<html >
<meta charset=" » />
<title></title>
<link rel="pingback" href=" » />
<!--[if lt IE 9]>-->
<script src="/js/html5.js » type= »text/javascript »>
<body >
<div id="page" class="hfeed site">
<header id="masthead" class="site-header" role="banner">
<hgroup>
<h1 class="site-title"><a href=" » title= » » rel= »home »></a></h1>
<h2 class="site-description"></h2>
</hgroup>
<nav role="navigation" class="site-navigation main-navigation">
<h1 class="assistive-text"></h1>
<div class="assistive-text skip-link"><a href="#content" title=" »></a></div>
‘primary’,
‘container_class’ => ‘menu’,
‘menu_class’ => »,
‘fallback_cb’ => ‘fallback_nav’) ); ?>
</nav><!-- .site-navigation .main-navigation -->
</header><!-- #masthead .site-header -->
<div id="main" class="site-main">Je ne crois pas avoir modifié d’autres fichiers que style.css, main.css, header.php, functions php et archives.php. Auras-tu besoin d’archives.php ?
4 juillet 2013 à 15 h 26 min #901155Sous Windows, il existe un logiciel qui permet de comparer deux fichiers : Winmerge http://www.framasoft.net/article1980.html
4 juillet 2013 à 16 h 57 min #901156@Luciole : Winmerge est mieux que Beyond compare ?
4 juillet 2013 à 17 h 33 min #901157Placard wrote:@Luciole : Winmerge est mieux que Beyond compare ?je ne sais pas, je n’ai pas essayé Beyond compare, si vous savez déjà utiliser Beyond compare, continuez avec, ce sera ça de moins à apprendre !
4 juillet 2013 à 17 h 48 min #901158tu peux mettre l’ancien fichier header.php dans le thème enfant.
Et oui, tous les fichiers modifiés, donc aussi archives.php 🙂
4 juillet 2013 à 22 h 48 min #901159archives.php est le dernier que j’ai modifié, et uniquement pour éliminer l’affichage de Category archives:
Voilà l’original :
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<header class="page-header">
<h1 class="page-title">
<?php
if ( is_category() ) {
printf( __( 'Category Archives: %s', 'mog' ), '<span>‘ . single_cat_title( », false ) . ‘</span>‘ );
} elseif ( is_tag() ) {
printf( __( ‘Tag Archives: %s’, ‘mog’ ), ‘<span>‘ . single_tag_title( », false ) . ‘</span>‘ );
} elseif ( is_author() ) {
/* Queue the first post, that way we know
* what author we’re dealing with (if that is the case).
*/
the_post();
printf( __( ‘Author Archives: %s’, ‘mog’ ), ‘<span class="vcard"><a class="url fn n" title="' . esc_attr( get_the_author() ) . '" rel="me">‘ . get_the_author() . ‘</a></span>‘ );
/* Since we called the_post() above, we need to
* rewind the loop back to the beginning that way
* we can run the loop properly, in full.
*/
rewind_posts();
} elseif ( is_day() ) {
printf( __( ‘Daily Archives: %s’, ‘mog’ ), ‘<span>‘ . get_the_date() . ‘</span>‘ );
} elseif ( is_month() ) {
printf( __( ‘Monthly Archives: %s’, ‘mog’ ), ‘<span>‘ . get_the_date( ‘F Y’ ) . ‘</span>‘ );
} elseif ( is_year() ) {
printf( __( ‘Yearly Archives: %s’, ‘mog’ ), ‘<span>‘ . get_the_date( ‘Y’ ) . ‘</span>‘ );
} else {
_e( ‘Archives’, ‘mog’ );
}
?>
</h1>
<?php
if ( is_category() ) {
// show an optional category description
$category_description = category_description();
if ( ! empty( $category_description ) )
echo apply_filters( 'category_archive_meta', '<div class="taxonomy-description">‘ . $category_description . ‘</div>‘ );
} elseif ( is_tag() ) {
// show an optional tag description
$tag_description = tag_description();
if ( ! empty( $tag_description ) )
echo apply_filters( ‘tag_archive_meta’, ‘<div class="taxonomy-description">‘ . $tag_description . ‘</div>‘ );
}
?>
</header><!-- .page-header -->
</div><!-- #content .site-content -->
</section><!-- #primary .content-area -->Et voilà l’ex-actif :
<section id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<header class="page-header">
<h1 class="page-title">
<?php
if ( is_category() ) {
printf( __( 'Category Archives: %s', 'mog' ), '<span>‘ . single_cat_title( », false ) . ‘</span>‘ );
} elseif ( is_tag() ) {
printf( __( ‘Tag Archives: %s’, ‘mog’ ), ‘<span>‘ . single_tag_title( », false ) . ‘</span>‘ );
} elseif ( is_author() ) {
/* Queue the first post, that way we know
* what author we’re dealing with (if that is the case).
*/
the_post();
printf( __( ‘Author Archives: %s’, ‘mog’ ), ‘<span class="vcard"><a class="url fn n" title="' . esc_attr( get_the_author() ) . '" rel="me">‘ . get_the_author() . ‘</a></span>‘ );
/* Since we called the_post() above, we need to
* rewind the loop back to the beginning that way
* we can run the loop properly, in full.
*/
rewind_posts();
} elseif ( is_day() ) {
printf( __( ‘Daily Archives: %s’, ‘mog’ ), ‘<span>‘ . get_the_date() . ‘</span>‘ );
} elseif ( is_month() ) {
printf( __( ‘Monthly Archives: %s’, ‘mog’ ), ‘<span>‘ . get_the_date( ‘F Y’ ) . ‘</span>‘ );
} elseif ( is_year() ) {
printf( __( ‘Yearly Archives: %s’, ‘mog’ ), ‘<span>‘ . get_the_date( ‘Y’ ) . ‘</span>‘ );
} else {
_e( ‘Archives’, ‘mog’ );
}
?>
</h1>
<?php
if ( is_category() ) {
// show an optional category description
$category_description = category_description();
if ( ! empty( $category_description ) )
echo apply_filters( 'category_archive_meta', '<div class="taxonomy-description">‘ . $category_description . ‘</div>‘ );
} elseif ( is_tag() ) {
// show an optional tag description
$tag_description = tag_description();
if ( ! empty( $tag_description ) )
echo apply_filters( ‘tag_archive_meta’, ‘<div class="taxonomy-description">‘ . $tag_description . ‘</div>‘ );
}
?>
</header><!-- .page-header -->
</div><!-- #content .site-content -->
</section><!-- #primary .content-area --> -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.