Wordpress a-t-il quelque chose de similaire à la fonction drupal_set_message de Drupal? Je veux informer l'utilisateur de quelque chose et espérais qu'il y avait un appel API intégré pour le faire.
Voici une idée: utilisez le save_post
hook pour définir une session contenant le message que vous voulez montrer à l'utilisateur, puis redirigez-la vers la page d'accueil. Dans le modèle de page d'accueil, vérifiez la présence de cette session et affichez le message à l'utilisateur.
Quelque chose comme ça:
functions.php:
add_action( 'save_post', 'wpse60249_save_post' );
function wpse60249_save_post( $post_id ) {
session_start();
$_SESSION[ 'message' ] = __( 'Your text here...' );
}
index.php (ou un modèle approprié):
if ( isset( $_SESSION[ 'message' ] ) :
echo $_SESSION[ 'message' ];
unset( $_SESSION[ 'message' ] );
endif;
Edit 10/21/2012
Lorsque j'ai écrit cette réponse, je ne savais pas que WordPress réinitialisait la variable $_SESSION
mais je l'ai appris il y a quelques semaines lorsque je travaillais sur un projet pour un client. Merci pour le rappel de cette question, @kaiser! Voici le code mis à jour utilisant transitoires à la place:
functions.php
:
add_action( 'save_post', 'wpse60249_save_post' );
function wpse60249_save_post( $post_id ) {
session_start();
set_transient( 'temporary_message', __( 'Your text here...' ), 60*60*12 );
}
index.php
(ou modèle approprié):
if ( false !== ( $temp_message = get_transient( 'temporary_message' ) ) :
echo $temp_message;
delete_transient( 'temporary_message' );
endif;
Il y a une mise à jour et un message d'erreur que vous pouvez utiliser sur le hook admin_notices
.
/* Plugin Name: Admin Notice w test message */
function wpse60244_custom_admin_notice()
{
return print '<div id="message" class="updated fade"><p><strong>Hi!</strong> Look at me! In theory I should even fade out after a short time span!</p></div>';
}
add_action( 'admin_notices', 'wpse60244_custom_admin_notice' );
Vous pouvez jeter ceci dans votre dossier plugins et le tester.
En théorie, vous pouvez également utiliser le hook admin_head
pour déclencher l’ajout de l’action. Si vous n'en avez besoin que sur des écrans/pages spécifiques de l'interface utilisateur d'administration, recherchez global $taxnow, $pagenow;
ou utilisez le hook admin_head-{$hook_suffix}
.