Aloysius (Créer un compte)

Toutes mes réponses sur les forums

15 sujets de 1 à 15 (sur un total de 38)
  • Auteur
    Messages
  • Aloysius
    Participant
    Initié WordPress
    39 contributions

    En fait, les plugins ne sont pas vraiment des fonctions indépendantes mais doivent utiliser des fonctions de WordPress et une certaine séquence de déclarations. Si tu « fais » quelque chose directement dans ton plugin, tu vas interférer avec la prise en charge que fait le moteur WordPress de toutes les déclarations de base des pages.

    Donc, la réponse à ta question est : oui et non. Oui, tu dois afficher ton message via une page, un article ou une autre fonction WordPress (d’admnistration par exemple), mais non, pas par un shortcode (pas directement en tout cas). Cela passe par l’utilisation de fonctions WordPress.

    Que veux-tu faire in fine avec ton plugin ?

    en réponse à : Plugin à partir de zéro #996935
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Si tu cherches une méthode, c’est plutôt method_exists que function_exists non ?

    en réponse à : Extension film (fiche) #982863
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Le problème d’Allociné c’est qu’il n’y a pas d’API donc ça n’incite pas à développer un plugin. IMDb n’a pas d’API officielle mais au moins il y en a des non-officielles (c’est ce qu’utilise WPMovieLibrary).
    Après, on peut bricoler dans son coin (j’ai fait pour mes besoins un truc basique à partir du code d’Etienne Gauvin qui donne ce résultat : [img]https://imageshack.com/i/eyYBW3yrp[/img]).

    en réponse à : pbm création plugin #980594
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Tu devrais nous mettre le texte complet de l’exercice, ça nous permetrrait peut-être de mieux comprendre parce je suis comme Lumière, je ne pense pas qu’on parte sur les bons modèles.

    en réponse à : pbm création plugin #980582
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Ah merci Lumière de Lune, je m’embrouillais…

    en réponse à : pbm création plugin #980584
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Essaie de tourner autours de ça :

    define(‘MYPLUGIN’, ‘my-plugin’); 
    // ——————————————————————-
    // Create a new item in the admin menu
    // ——————————————————————
    add_action( ‘admin_menu’, ‘my_admin_menu’ );
    function my_admin_menu() {
        add_options_page( ‘My Plugin’, ‘My Plugin’, ‘manage_options’, MYPLUGIN, ‘my_options_page’ );
    }
    
    // ——————————————————————
    // Add all your sections, fields and settings during admin_init
    // ——————————————————————
    add_action( ‘admin_init’, ‘my_admin_init’ );
    function my_admin_init() {
        
        $setting_section = ‘section-one’;
        
        add_settings_section(   $setting_section, 
                                ‘Section One’, 
                                ‘section_one_callback’, 
                                MYPLUGIN
        );
        
        add_settings_field(     ‘question’, 
                                ‘Question’, 
                                ‘field_callback’, 
                                MYPLUGIN, 
                                $setting_section, 
                                array( ‘question’, __(‘Explanation for question’, ‘ani_plugin’)) 
        );
        
        add_settings_field(     ‘rep1’, 
                                ‘Réponse 1’, 
                                ‘field_callback’, 
                                MYPLUGIN, 
                                $setting_section, 
                                array( ‘rep1’, __(‘Explanation for rep1’, ‘ani_plugin’)) 
        );
        
        // Register our setting so that $_POST handling is done for us and
        // our callback function just has to echo the 
        register_setting( MYPLUGIN, ‘question’ );
        register_setting( MYPLUGIN, ‘rep1’ );
            
    } 
    
    // ——————————————————————
    // Settings section callback function
    // ——————————————————————
    function section_one_callback() {
     	echo ‘<p>Intro text for our settings section</p>‘;
    } 
    
    // ——————————————————————
    // Callback function for our example setting
    // ——————————————————————
    function field_callback($arg) {
        $setting = esc_attr( get_option( $arg[0] ) );
        echo ‘ ‘.$arg[1];
    }
    
    function my_options_page() {
        ?>
        <div class="wrap">
            <h2>My Plugin Options</h2>
            <form action="options.php" method="POST">
                
                
                
            </form>
        </div>
        <?php
    }

    en réponse à : pbm création plugin #980587
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Quelques éléments de base pour voir si tu as bien compris :

    – toutes les fonctions « settings » servent à gérer des éléments de réglage de WordPress. Donc, à la base, c’est utilisable dans le menu « Réglages »

    – tu as 2 choix ensuite : soit inclure tes réglages personnalisés dans une option existante (par exemple, le menu « lecture ») soit créer une nouvelle option

    – le fonctionnement :
    * initialisation : les déclarations de section ( add_settings_section ), de champ ( add_settings_field ) et d’enregistrement ( register_setting ) doivent être dans l’initialisation de l’admin ( add_action( ‘admin_init’, ‘my_admin_init’ ); )
    * add_settings_section : ajoute la section dans laquelle vont être présents les champs gérés
    * add_settings_field : ajoute les champs (un par un) qui vont être gérés
    * register_setting : enregistre les champs pour que wordpress sache qu’il doit gérer toute la mécanique de la « form »
    * la mécanique des champs : ils sont gérés par la fonction déclarée en callback dans « add_settings_field » ( dans mon exemple, la fonction eg_setting_callback_function )

    en réponse à : pbm création plugin #980588
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Tu veux mettre tes options dans quel groupe ?

    Un exemple dans ‘lecture’ :

    // ——————————————————————
     // Add all your sections, fields and settings during admin_init
     // ——————————————————————
     //
     
     function eg_settings_api_init() {
     	// Add the section to reading settings so we can add our
     	// fields to it
     	add_settings_section(
    		‘eg_setting_section’,
    		‘Example settings section in reading’,
    		‘eg_setting_section_callback_function’,
    		‘reading’
    	);
     	
     	// Add the field with the names and function to use for our new
     	// settings, put it in our new section
     	add_settings_field(
    		‘eg_setting_question’,
    		‘Example setting Question’,
    		‘eg_setting_callback_function’,
    		‘reading’,
    		‘eg_setting_section’,
                    array( ‘question’, __(‘Explanation for question’, ‘ani_plugin’) )
    	);
     	
     	add_settings_field(
    		‘eg_setting_rep1’,
    		‘Example setting Rep 1’,
    		‘eg_setting_callback_function’,
    		‘reading’,
    		‘eg_setting_section’,
                    array( ‘rep1’, __(‘Explanation for rep1’, ‘ani_plugin’) )
    	);
     	
     	// Register our setting so that $_POST handling is done for us and
     	// our callback function just has to echo the 
     	register_setting( ‘reading’, ‘eg_setting_question’ );
     	register_setting( ‘reading’, ‘eg_setting_rep1’ );
     } // eg_settings_api_init()
     
     add_action( ‘admin_init’, ‘eg_settings_api_init’ );
     
      
     // ——————————————————————
     // Settings section callback function
     // ——————————————————————
     //
     // This function is needed if we added a new section. This function 
     // will be run at the start of our section
     //
     
     function eg_setting_section_callback_function() {
     	echo ‘<p>Intro text for our settings section</p>‘;
     }
     
     // ——————————————————————
     // Callback function for our example setting
     // ——————————————————————
     //
     // creates a checkbox true/false option. Other types are surely possible
     //
     
     function eg_setting_callback_function($arg) {
     	echo ‘ ‘ . $arg[1];
     }

    en réponse à : pbm création plugin #980589
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Qu’as-tu mis dans ton register_setting ?

    en réponse à : wordpress webservice #977572
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Il faut que tu regardes ton installation php. Les installations suivantes doivent être activées : S0AP, php_openssI, openssI, curI.

    en réponse à : Plugin pour avoir un forum #979457
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    As-tu testé BBPress ? c’est le forum phase sous WordPress. BBPress

    en réponse à : Créer un fichier .POT à partir de rien avec PoEdit pour la traduction #979344
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Non, quand tu fais une mise à jour, cela ajoute les chaînes qui n’existent pas mais ça ne touche pas la traduction.

    en réponse à : Créer un fichier .POT à partir de rien avec PoEdit pour la traduction #979341
    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Si tu as créé ton thème en copiant à partir d’un autre, il y a de forte chance pour qu’il ait déjà des chaines utilisant __ ou _e
    Tu peux voir en faisant click-droit sur une ligne, cela indique la source.

    Aloysius
    Participant
    Initié WordPress
    39 contributions

    Ah oui, ton fichier .po doit être dans le répertoire « languages » de ton thème.

    Aloysius
    Participant
    Initié WordPress
    39 contributions

    A priori, tu n’en es pas loin.

    0. Est-ce que tu as bien créé ton répertoire comme ça : /ton-theme/languages ?

    1. Ouvre ton fichier .po
    2. va dans Catalogue -> Préférences puis Chemin des sources
    3. Click sur l’icône « Nouvel élément » de la barre « Chemins » (l’icône du petit rectangle en pointillés)
    4. Entre .. comme chemin puis « entrer »
    5. Enregistrer
    6. Mettre à jour

    Dans les mots clés, tu dois avoir __ et _e
    Dans Propriétés de traduction, laisse tout en mettant juste le nom de ton thème en nom de projet

15 sujets de 1 à 15 (sur un total de 38)