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!
Vous pouvez créer un bouton dans l'éditeur Tinymce qui ajoute un lien prédéfini comme ce bouton youtube:
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.
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
.