Je me demande s'il est possible de changer le texte "Entrez le titre ici" en fonction du format de message que vous avez sélectionné? Par exemple: Si vous sélectionnez le format de publication Devis , votre texte sera "Entrer devis de l'auteur". Est-ce possible?
Vous devez faire ce qui suit.
jQuery(document).ready(function( $ ) {
$('input.post-format').click(function(){
$('#title-Prompt-text').val( $(this).next('label').text());
})
});
Cela remplacera le titre par le format de publication sélectionné.
Enregistrez ce qui précède dans un fichier appelé custom-post-title.js
et vous devrez placer ce fichier dans votre dossier de thèmes. Soit dans la racine ou dans un dossier nommé /js/
- mais notez simplement que si vous le placez dans un sous-dossier, assurez-vous de refléter cela dans le prochain extrait que je vous transmettrai.
Ensuite, dans votre fichier de thème functions.php
, vous devez mettre votre script en file d'attente afin de l'utiliser dans la zone d'administration. Dans ce cas, nous le mettrons en file d'attente dans le post/page edit écrans uniquement (afin de ne pas charger inutilement ailleurs et créer des frais généraux.
function custom_post_title($hook) {
if( 'edit.php' != $hook )
return;
wp_enqueue_script( 'custom_post_title', get_bloginfo('template_directory') . '/custom-post-title.js', __FILE__) );
}
add_action( 'admin_enqueue_scripts', 'custom_post_title' );
Utiliser le filtre admin_enqueue_scripts
signifie que nous n'injectons notre fichier Javascript que sur le backend (zone d'administration) et non sur le front-end, après tout ce qui est inutile pour vos utilisateurs.
Si vous souhaitez ajouter un peu de personnalisation supplémentaire et modifier le titre du message par défaut, utilisez (également dans votre fichier functions.php
);
function custom_title( $title ){
$screen = get_current_screen();
if ( 'post' == $screen->post_type ) {
$title = 'Choose your post format';
}
return $title;
}
add_filter( 'enter_title_here', 'custom_title' );
Ceci est quelque chose de similaire à ce que Rutwick a posté ci-dessus précédemment; bien que cela ne réponde pas à votre question immédiate, cela étend le niveau de personnalisation afin que vous puissiez avoir,
Bonne chance!
Remarques:
J'ai apporté une mise à jour importante à jQuery, en la modifiant;
$ ('# title-Prompt-text'). text ($ (this) .val ());
En faveur de,
$ ('# title-Prompt-text'). val ($ (this) .next ('label'). text ());
Le premier récupérait sa propriété dans l'attribut "value" du champ de saisie et bien que cela soit parfaitement correct dans la plupart des cas, WP attribue au "standard" post_format
un value=0
au lieu de value=Standard
- pour tous les autres post_formats
la valeur est égale à celle de son nom.
La raison en est que WP renvoie false
lorsque, par exemple, vous utilisez la fonction API get_post_format()
; c’est ainsi qu’il décide de déterminer sa publication standard par défaut. Ce qui est un peu ridicule, alors le dernier ajustement s’occupe de cela en récupérant la valeur du input
champs adjacent à l’élément <label>
qui contient le nom de notre format de publication nécessaire.
Allez pour jQuery! Vous pouvez le faire via php, mais uniquement lorsque vous modifiez un message pour lequel vous avez déjà défini le format du message. Mais pour 'Ajouter nouveau', vous ne pouvez pas, car le format de publication n'est pas défini.