Koenmo (Créer un compte)

Toutes mes réponses sur les forums

13 sujets de 1 à 13 (sur un total de 13)
  • Auteur
    Messages
  • en réponse à : Convertir quotes droites en apostrophes courbes sur le frontend #2468657
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Merci pour votre réponse.

    J’ai testé le snippet sur la version test de mon site test et cela fonctionne. N’ayant aucune connaissance en code, je voulais m’assurer que je ne risquais pas d’endommager quelque chose si je le mettais sur le prod.

    en réponse à : [Résolu] Problèmes critiques dans Santé du site #2389455
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Après moult recherches j’ai trouvé l’erreur et l’ai corrigée. J’avais ajouté un morceau de code dans le php enfant afin d’être redirigé vers la page d’origine après connexion. Il devait y avoir une erreur de code. J’ai effacé le code et tout est arrangé.

    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Merci encore.

    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Alea jacta est. Je me mets aux attributs pour de bon et le responsable des ajouts de livres en sera d’autant plus content.

    Veuillez m’excuser pour le code ; je ne savais pas que cela se faisait. Le voici :

    <?php
    /**
    * Bookie Child Theme functions and definitions.
    */

    if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

    add_action( 'after_setup_theme', 'toko_load_childtheme_languages', 5 );
    function toko_load_childtheme_languages() {
    /* this theme supports localization */
    load_child_theme_textdomain( 'bookie-wp', get_stylesheet_directory() . '/languages' );

    }

    /* Please add your custom functions code below this line. */



    // Add child theme styles
    add_action( 'wp_enqueue_scripts', 'my_plugin_add_stylesheet' );
    function my_plugin_add_stylesheet() {
    wp_enqueue_style( 'my-style', get_stylesheet_directory_uri() . '/child-style.css', false, '1.0', 'all' );
    }

    // Add font field in slider
    add_filter( 'cmb_meta_boxes', function($meta_boxes){
    array_push($meta_boxes[0]['fields'][1]['fields'], array( 'id' => 'font', 'name' => esc_html__( 'Font', 'toko-sliders' ), 'type' => 'select', 'options' => array( 'adobe-jenson-pro' => esc_html__( 'Adobe jenson pro', 'toko-sliders' ), 'alegreya' => esc_html__( 'Alegreya', 'toko-sliders' )), 'cols' => 6 ));
    array_push($meta_boxes[0]['fields'][1]['fields'], array( 'id' => 'btn-visibility', 'name' => esc_html__( 'Button visible?', 'toko-sliders' ), 'type' => 'select', 'default' => 'yes', 'options' => array( 'yes' => esc_html__( 'Yes', 'toko-sliders' ), 'no' => esc_html__( 'No', 'toko-sliders' )), 'cols' => 6 ));
    return $meta_boxes;
    }, 20 );

    // Add Adobe fonts to the website
    add_action('wp_head', 'add_adobe_fonts');
    function add_adobe_fonts(){
    ?><link rel="stylesheet" href="https://use.typekit.net/lys4yxt.css"><?php
    }

    // Change slider front view
    function wpa_add_child_shortcodes(){
    remove_shortcode('toko_shortcode_slider');

    add_shortcode( 'toko_slider', 'toko_shortcode_slider_custom_font' );
    }
    add_action( 'after_setup_theme', 'wpa_add_child_shortcodes' );

    function toko_shortcode_slider_custom_font( $atts ) {
    extract( shortcode_atts( array(
    'id' => '',
    'slug' => '',
    ), $atts ) );

    $slides = get_post_meta( $id, '_slides' );
    if ( empty( $slides ) )
    return;

    $output = '';

    $count = 0;
    foreach ( $slides as $slide ) {
    $output_slide = '';
    $style = '';
    if($slide['font'])
    $style = "style=\"font-family: '".$slide['font']."', sans-serif;\"";
    if ( trim( $slide['title'] ) ) {
    $output_slide .= '<h2 '.$style.' class="toko-slide-title">'.$slide['title'].'</h2>';
    }
    if ( trim( $slide['desc'] ) ) {
    $output_slide .= '<p '.$style.' class="toko-slide-desc">'.$slide['desc'].'</p>';
    }
    if ($slide['btn-visibility'] == 'yes') {
    if ( trim( $slide['btn_text'] ) ) {
    $url = $slide['btn_url'] ? esc_url( $slide['btn_url'] ) : '#';
    $output_slide .= '<a '.$style.' class="toko-slide-button" href="'.$url.'">'.$slide['btn_text'].'</a>';
    }
    }
    if ( $output_slide ) {
    $count++;
    if ( $slide['image'] ) {
    $image = wp_get_attachment_url( $slide['image'] );
    if ( $image ) {
    $style = 'style="background-image:url('.$image.');background-size:cover;background-position:center right;background-repeat:no-repeat;" ';
    }
    }
    $output .= '<div class="toko-slide" '.$style.'><div class="toko-slide-inner"><div class="toko-slide-detail">'.$output_slide.'</div></div></div>';
    }
    }

    if ( $output ) {
    $class = $count > 1 ? 'toko-slider-active' : '';
    $output = '<div class="toko-slider-wrap"><div class="toko-slides '.$class.'">'.$output.'</div></div>';
    if ( $count > 1 ) {
    $speed = get_post_meta( $id, '_speed', true );
    $speed = intval( $speed ) ? $speed : 5000;
    $animation = get_post_meta( $id, '_animation', true ) == 'slide' ? '' : 'fadeOut';
    $dots = get_post_meta( $id, '_dots', true ) == 'no' ? 'false' : 'true';
    $nav = get_post_meta( $id, '_nav', true ) == 'no' ? 'false' : 'true';
    $autoplay = get_post_meta( $id, '_autoplay', true ) == 'no' ? 'false' : 'true';
    $hoverpause = get_post_meta( $id, '_hover_pause', true ) == 'no' ? 'false' : 'true';
    wp_enqueue_script( 'owlcarousel2' );
    wp_enqueue_style( 'owlcarousel2' );
    $js_code = "jQuery(function($) { $('.toko-slider-active').owlCarousel({items:1, loop: true, autoplayTimeout: $speed, animateOut: '$animation', dots: $dots, nav:$nav, autoplay: $autoplay, autoplayHoverPause: $hoverpause, lazyLoad: true, smartSpeed: 700, autoHeight:true, navText:['<span class=\"slide-prev-nav\"><i class=\"fa fa-angle-left\"></i></span>','<span class=\"slide-next-nav\"><i class=\"fa fa-angle-right\"></i></span>'] }).addClass('owl-carousel owl-theme'); });";
    wp_add_inline_script( 'owlcarousel2', $js_code );
    }
    }

    return $output;
    }

    function wpa_show_permalinks( $post_link, $post ){
    if ( is_object( $post ) && $post->post_type == 'show' ){
    $terms = wp_get_object_terms( $post->ID, 'book_author' );
    if( $terms ){
    return str_replace( '%book_author%' , $terms[0]->slug , $post_link );
    }
    }
    return $post_link;
    }
    add_filter( 'post_type_link', 'wpa_show_permalinks', 1, 2 );




    function my_mce_buttons_2( $buttons ) {
    /**
    * Add in a core button that's disabled by default
    */
    $buttons[] = 'superscript';
    $buttons[] = 'subscript';

    return $buttons;
    }
    add_filter( 'mce_buttons_2', 'my_mce_buttons_2' );


    function wpb_autolink_featured_images( $html, $post_id, $post_image_id ) {

    If (! is_singular()) {

    $html = '<a href="' . get_permalink( $post_id ) . '" title="' . esc_attr( get_the_title( $post_id ) ) . '">' . $html . '</a>';
    return $html;

    } else {

    return $html;

    }

    }
    add_filter( 'post_thumbnail_html', 'wpb_autolink_featured_images', 10, 3 );

    /**
    * Bypass logout confirmation.
    */
    function iconic_bypass_logout_confirmation() {
    global $wp;

    if ( isset( $wp->query_vars['customer-logout'] ) ) {
    wp_redirect( str_replace( '&', '&', wp_logout_url( wc_get_page_permalink( 'account' ) ) ) );
    exit;
    }
    }

    add_action( 'template_redirect', 'iconic_bypass_logout_confirmation' );



    <?php $editeur = get_field( 'editeur' ); ?>
    <?php if ( $editeur ) : ?>
    <a href="<?php echo esc_url( get_term_link( $editeur ) ); ?>"><?php echo esc_html( $editeur->name ); ?></a>
    <?php endif; ?>
    <?php the_field( 'date_de_parution' ); ?>
    <?php the_field( 'nombre_de_volumes' ); ?>
    <?php the_field( 'nombre_de_pages' ); ?>
    <?php the_field( 'isbn' ); ?>
    <?php $presentation = get_field( 'presentation' ); ?>
    <?php if ( $presentation ) : ?>
    <a href="<?php echo esc_url( get_term_link( $presentation ) ); ?>"><?php echo esc_html( $presentation->name ); ?></a>
    <?php endif; ?>
    <?php the_field( 'illustrateur' ); ?>

    Bien entendu, c’était le code avant que je n’ai renoncé aux ACF.

    Bonne journée.

    • Cette réponse a été modifiée le il y a 2 années et 6 mois par Koenmo.
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Me voilà enfin de retour.

    Pour les ISBN, une fois que tu as sélectionné ton attribut personnalisé ISBN, il s’affiche avec une zone de saisie et en bas à droite de la zone un bouton ajouter qui te permet de saisir une nouvelle valeur.

    Je n’avais pas saisi cette option ; c’est ce qui me faisait bloquer. Je comprends mieux pourquoi je me faisais des nœuds dans le cerveau pour rien. Question à deux sous : n’y a-t-il pas un inconvénient à entrer ainsi des nouveaux termes à chaque produit ? J’ai 1000 produits dans ma boutique, ce qui veut dire 1000 termes pour l’attribut ISBN ; 1000 autres pour l’attribut « nombre de pages »… En soi, cela ne me gêne pas.

    Pour ce qui est du code, je n’ai pas obtenu de résultat, mais cela doit venir de ma faute, car mes connaissances en php sont nulles. Je me suis tourné vers un plugin « welaunch group attribute » pour faire le travail.

    Mille mercis encore pour tous vos conseils et votre aide.

    • Cette réponse a été modifiée le il y a 2 années et 6 mois par Koenmo.
    • Cette réponse a été modifiée le il y a 2 années et 6 mois par Koenmo.
    • Cette réponse a été modifiée le il y a 2 années et 6 mois par Koenmo.
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Merci pour ces éclaircissements. Je renonce à l’idée des ACF. Je reviens vers vous dès que j’aurai obtenu un résultat. Je suis fort pris à l’instant.

    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Encore merci pour votre soin à me répondre clairement.

    Je suis d’accord que je cherche à contourner un problème, mais je ne vois pas comment faire autrement. J’essaye d’expliciter mon cas avec clarté :

    J’ai besoin des attributs suivants :

    Poids (proposé par défaut par WooCommerce), Dimensions (idem), Éditeur, Date de parution, Nombre de volumes, Nombre de pages, ISBN, Présentation, Illustrateur.

    L’attribut « Éditeur » a 148 termes que j’ai enregistrés via le menu Attribut. À la page ajout de produit, dans l’onglet « Attribut » je retrouve « Éditeur », je l’ajoute et j’obtiens un menu déroulant avec tous les éditeurs. Soit.

    L’attribut « Présentation » a de même 8 termes pré-enregistrés (broché, relié, cartoné, etc).

    En revanche, les autres attributs ont des données particulières à chaque produit. Or si j’enregistre dans le menu « Attribut » l’attribut « ISBN », par exemple, je trouverai bien parmi les attributs à ajouter « ISBN » dans l’onglet « attribut » de la page nouveau produit.  Seulement, une fois ajouté, je suis obligé de choisir un terme. Et puisque je n’ai enregistré aucun terme prédéfini (puisque les ISBN sont différents pour chaque livre), je me retrouve bloqué. Idem pour les autres attributs.

    Dans le fichier joint cas 1, j’ai choisi d’ajouter un Attribut personnalisé du produit. Je dois écrire l’intitulé (ce qui est fastidieux) mais je puis écrire ce que je veux dans l’entrée. C’est ce que je fais jusqu’à présent.

    Dans le cas 2, j’ai pré-enregistré ISBN via le menu « Attribut ». J’ai choisi, dans la page ajout de produit, d’ajouter l’attribut « ISBN » mais je ne parviens pas à écrire du texte dans le champ. Je suis obligé de prendre un des termes… inexistants.

    Enfin, avec ce système, je suis obligé de charger un à un les attributs, avec risque de ne pas garder le même ordre pour tous les produits. J’aurais aimé pouvoir charger en une fois tous les intitulés. J’ai l’impression que quelque chose m’échappe et qu’il y a une solution quelque part.

    Bonne soirée.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Merci pour votre réponse.

    Il est vrai qu’il faut garder aux attributs le terme de taxonomie. N’y a-t-il pas moyen de faire un ACF dont le terme des champs « débouchent » en taxonomie ?

    Ce que je cherche à éviter pour les fautes, c’est que je ne doive pas entrer à chaque nouveau livre l’intitulé de l’attribut (Auteur, ISBN, etc). C’est déjà le cas pour les dimensions et le poids, car ils sont par défaut dans Woocommerce. J’entre les dimensions dans Données du produit > Expédition, et les intitulés « Poids » et « Dimensions » s’affichent sur le front end sans que je me soucie de l’orthographe. Peut-être que ceci serait une piste.

    Merci pour votre simplification de code. Malheureusement, j’obtiens le même message.

    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Merci pour la réponse.

    Je ne trouve pas le > dans le fichier php. Est-ce dans le code que j’ai ajouté ? Il se fait que la ligne 165 correspond à la première des lignes ajoutées avec le code mentionné ci-dessus. D’ailleurs dès que je supprime ce code, je n’ai plus de message d’erreur.

    Si j’utilise ACF (en tout cas j’espère pouvoir l’utiliser ou une solution équivalente) c’est que les attributs sont un système long et fastidieux avec risque d’erreur d’orthographe. Pour un livre, il faut ajouter les attributs ISBN, éditeur, état de l’ouvrage, date de parution, illustrateur. Et cette procédure doit être renouvelée à chaque nouveau produit.

    Y aurait-il une meilleure solution que mon idée de ACF ?

    Bonne soirée.

    en réponse à : Enregistrer mon nom, mon e-mail… : problème traduction #2339260
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Re-boujour,

    J’ai trouvé le texte dans le fichier que vous m’indiquez, mais la traduction est juste.

    Cela étant, la dernière version que j’obtiens est la 5.4 tout court.

    Encore merci.

     

    en réponse à : Enregistrer mon nom, mon e-mail… : problème traduction #2339229
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Merci pour la réponse.

    J’ai installé Poedit.

    J’ai trouvé les deux fichiers .po et .mo dans le dossier thème mère > Languages, en anglais : je n’y trouve pas l’expression « Save my name…

    Dans le thème enfant, il y aussi un dossier Languages et les deux fichiers .po et .mo, mais en français, beaucoup moins fournis.

    Faut-il que j’ajoute le texte anglais dans le .po et qu’ensuite je le traduise ?

    Encore merci d’avance,

    Kambro

    Koenmo
    Participant
    Initié WordPress
    19 contributions

    Le problème est résolu. Je présume que c’est venu suite à une mise à jour, peut-être celle de WooCommerce…

    en réponse à : Design page d’accueil modifié suite à essai de Elementor #2290661
    Koenmo
    Participant
    Initié WordPress
    19 contributions

    J’ai trouvé la solution. Il fallait que dans Attributs de page > Modèle je choisisse : Visual composer. Tout est rétabli.

    Excusez-moi, pour le dérangement que j’aurais pu vous causer.

    Bonne nuit.

13 sujets de 1 à 13 (sur un total de 13)