web-dev-qa-db-fra.com

Existe-t-il un plugin pour insérer un lien prédéfini dans l'éditeur?

Après avoir recherché plusieurs heures, j'ai décidé de rassembler celui-ci en sous-traitance. J'ai un client qui utilise très souvent Wordpress, ils doivent souvent créer un lien vers une certaine page pour collecter des dons - le problème est qu'ils se trompent toujours (longue histoire, mais ils la bousillent toujours!). Je cherchais un plugin ou un tutoriel sur la façon d'ajouter un bouton à l'éditeur qui ajouterait automatiquement le lien à leur publication - en s'assurant que le lien est toujours correct. Comme mentionné, j'ai cherché plusieurs heures et je me demandais si quelqu'un pourrait me diriger dans la bonne direction. Merci!

1
BD_Design

Vous pouvez créer un bouton dans l'éditeur Tinymce qui ajoute un lien prédéfini comme ce bouton youtube:

enter image description here

Mettez ceci dans votre fichier de thème functions.php:

// Hook into WordPress
add_action('init', 'mylink_button');

// Create Our Initialization Function
function mylink_button() {

   if ( ! current_user_can('edit_posts') && ! current_user_can('edit_pages') ) {
     return;
   }

   if ( get_user_option('rich_editing') == 'true' ) {
     add_filter( 'mce_external_plugins', 'add_plugin' );
     add_filter( 'mce_buttons', 'register_button' );
   }

}

// Register Our Button
function register_button( $buttons ) {
    array_Push( $buttons, "|", "mylink" );
    return $buttons;
}

// Register Our TinyMCE Plugin
function add_plugin( $plugin_array ) {
    $plugin_array['mylink'] = get_bloginfo( 'template_url' ) . '/link.js';
    return $plugin_array;
}

Ensuite, créez un fichier link.js et mettez-le à la racine de votre thème avec:

// JavaScript Document
(function() {
    tinymce.create('tinymce.plugins.mylink', {
        init : function(ed, url) {
            ed.addButton('mylink', {
                title : 'My Link',
                image : url+'/mylink.png',
                onclick : function() {
                     ed.selection.setContent('http://mylink.com');

                }
            });
        },
        createControl : function(n, cm) {
            return null;
        },
    });
    tinymce.PluginManager.add('mylink', tinymce.plugins.mylink);
})();

Changez http://mylink.com en lien que vous souhaitez ajouter. Ajoutez également une icône appelée mylink.png à la racine du thème.

4
Pontus Abrahamsson

Je ne sais pas à quoi sert le crochet dbx_post_advanced, mais vous pourrez peut-être l'utiliser pour faire ce que vous voulez.

static function insert_some_text( $arg1 ) {
   global $post ;

   if( $post->post_name == '' ) {
       $post->post_content = 'Some Hello World' ;
   }
}
add_action('dbx_post_advanced', 'insert_some_text');

Ajoutez ce code dans votre functions.php et modifiez-le. La vérification post_name que vous souhaitez peut-être remplacer par la vérification de l'URL pour post-new.php.

0