Maison  >  Article  >  Tutoriel CMS  >  Cinquante actions pour WordPress – Démo 50 exemples (de 41 à 50)

Cinquante actions pour WordPress – Démo 50 exemples (de 41 à 50)

WBOY
WBOYoriginal
2023-09-03 17:25:071332parcourir

WordPress 的五十个动作 - 演示 50 个示例(从 41 到 50)

Si vous avez suivi notre série, vous savez que nous sommes dans la dernière ligne droite de l’examen de 50 actions pour WordPress. Pour ceux d'entre vous qui viennent de nous rejoindre, je recommande fortement de consulter l'article précédent (car cet article continue là où nous nous sommes arrêtés) ainsi que les articles liés à chacun des articles précédents.

Cela vous donnera une idée d'où nous en sommes actuellement.

Commençons !

Injecté dans la page de gestion des plug-ins

Les plugins ont aussi des besoins : ils peuvent avoir besoin de scripts ou de styles dans la page pour leurs propres pages d'options. Le contenu peut être injecté dans la balise admin_head-(plugin_page) 操作,可以将内容注入到特定插件页面的 d'une page de plugin spécifique à l'aide de l'action admin_head-(plugin_page).

Ajoutez des styles à la page d'administration de votre plugin

Si vous devez ajouter du style CSS à la page d'options de votre plugin, le code suivant vous aidera :

<?php

add_action( 'admin_head-tools_page_myplugin/myplugin', 'admin_head_plugin_page_example' );

function admin_head_plugin_page_example() {
    echo '<style type="text/css">'
       . '/* your style here */'
       . '</style>';
}

// Example Source: https://codex.wordpress.org/Plugin_API/Action_Reference/admin_head-(plugin_page)

?>

Modifiez la ligne commentée avec votre code CSS, remplacez la deuxième partie du nom de l'action (tools_page_myplugin/myplugin) par votre propre plugin, et le tour est joué !

Traitez-le avant de le cingler

« Ping » est l'une des fonctionnalités les plus anciennes de WordPress, et l'action pre_ping nous permet de traiter le ping avant de le gérer.

Désactiver l'auto-ping

WordPress ne fait pas de différence entre les liens internes et externes en matière de ping. Pour désactiver l'auto-pinging, vous pouvez utiliser ce petit extrait de code pratique :

<?php

add_action( 'pre_ping', 'pre_ping_example' );
function pre_ping_example( &$links ) {

	foreach ( $links as $l => $link ) {
    
        if ( 0 === strpos( $link, get_home_url() ) ) {
            unset( $links[ $l ] );
        }
        
	}
    
}

// Example Source: http://wpdevsnippets.com/remove-slef-pings/

?>

À partir de maintenant, votre installation WordPress ne cinglera plus ses propres publications.

Utilisez la fonction get_header()

Lorsque le modèle appelle la fonction get_header() 函数时,会调用 get_header, l'opération get_header sera appelée, ce qui est très approprié pour les fonctions qui modifient les en-têtes frontaux de WordPress.

Activer le mode maintenance simple

Si vous êtes pressé et n'avez pas le temps d'installer le plugin "Maintenance Mode" et de définir ses options, vous pouvez simplement utiliser le code ci-dessous et émettre wp_die() à tout le monde sauf l'administrateur Erreur :

<?php

add_action( 'get_header', 'get_header_example' );

function get_header_example() {

	if ( ! current_user_can( 'activate_plugins' ) ) {
		wp_die( 'The website will be back soon.' );
    }
    
}

// Example Source: http://wp-snippets.com/articles/7-code-snippets-you-should-use-on-every-site/

?>

Étant donné que seuls les administrateurs (et super-administrateurs) ont des capacités 'activate_plugins', le site sera fermé à tout le monde sauf aux administrateurs.

falsification de la page de connexion

L'opération

login_head nous aide à contrôler la balise login_head 操作帮助我们控制登录页面上的 sur la page de connexion.

Élimine l'effet de secousse des informations d'identification incorrectes

Si vous n'aimez pas l'effet « tremblant » qui se produit lorsque les utilisateurs soumettent des informations de connexion incorrectes, vous pouvez le supprimer en utilisant la fonction suivante :

<?php

add_action( 'login_head', 'login_head_example' );
function login_head_example() {
    remove_action( 'login_head', 'wp_shake_js', 12 );
}

// Example Source: http://wordpress.org/support/topic/plugin-simplemodal-login-remove-shake-effect

?>

Mais j'aime l'effet.

Utiliser le pied de page du tableau de bord

Parfois, nous pouvons vouloir contrôler le pied de page du panneau d'administration - pas la section de pied de page elle-même, mais 标记之前的部分。 admin_footer fait exactement cela.

Ajouter des styles rapides au statut de la publication

Avoir un ensemble cohérent de couleurs est l’une des choses qui rendent un panneau d’administration WordPress magnifique, mais je ne pense pas qu’il y ait de mal à certains codes couleur pour le contenu qui doit être visuellement séparé (comme les différents statuts de publication).

Si vous êtes comme moi et que vous souhaitez pouvoir différencier les publications publiées des brouillons ou autres statuts de publication, utilisez ce code :

<?php

add_action( 'admin_footer', 'admin_footer_example' );
function admin_footer_example() {

	echo '<style type="text/css">
	.status-draft	{ background-color: #FCE3F2; }
	.status-pending	{ background-color: #87C5D6; }
	.status-future	{ background-color: #C6EBF5; }
	.status-private	{ background-color: #F2D46F; }
	</style>';
    
}

// Example Source: http://wpsnipp.com/index.php/functions-php/change-admin-postpage-color-by-status-draft-pending-published-future-private/

?>

Mise en file d'attente des scripts et des styles dans la page de connexion

Nous pouvons utiliser wp_enqueue_scripts 将内容排队到前端,也可以使用 admin_enqueue_scripts 将内容排队到后端。那么登录页面呢?你猜对了:这次 login_enqueue_scripts comme notre crochet !

Changez le logo au dessus du formulaire de connexion

J'adore le logo WordPress, mais je ne pense pas qu'il devrait être affiché à chaque fois qu'un utilisateur se connecte à mon site. Si vous pensez la même chose, vous pouvez remplacer le logo WordPress par le vôtre en utilisant cet extrait utile :

<?php

add_action( 'login_enqueue_scripts', 'login_enqueue_scripts_example' );
function login_enqueue_scripts_example() {

	echo '<style type="text/css">'
			. '#login h1 a {'
				. 'background-image: url(' . get_bloginfo( 'template_directory' ) . '/images/login-logo.png);'
				. 'padding-bottom: 30px;'
			. '}'
		. '</style>';
        
}

// Example Source: http://wpsnippy.com/add-custom-login-logo-in-your-wordpress-blog/

?>

Placez login-logo.png 文件放入主题的 /images/ dans le dossier et c'est tout !

Ajouter des colonnes personnalisées à la liste des utilisateurs

Connaissez-vous la liste des utilisateurs dans la page "Tous les utilisateurs" du panneau d'administration ? L'action manage_users_custom_column nous permet d'ajouter de nouvelles colonnes personnalisées à cette liste à l'aide des filtres qui l'accompagnent.

Afficher la date d'inscription de l'utilisateur dans une colonne

Supposons que vous deviez vérifier les dates d'inscription des membres par lots. Vous pouvez vérifier l'enregistrement de la base de données chaque fois que vous avez besoin de ces informations, ou vous pouvez ajouter des colonnes supplémentaires à la liste des utilisateurs à l'aide de cet extrait de code :

<?php

add_action( 'manage_users_custom_column', 'manage_users_custom_column_example', 10, 3 );
add_filter( 'manage_users_columns', 'manage_users_columns_example' );

// create a new column named "Zip Code"
function manage_users_columns_example( $columns ) {

	$columns['user_registered'] = __( 'Registration Date', 'theme-name' );
	return $columns;
    
}

// fill the column cells with the registration dates
function manage_users_custom_column_example( $value, $column_name, $user_id ) {

	if ( 'user_registered' == $column_name ) {
    
		$userdata = get_userdata( $user_id );
		return $userdata->user_registered;
        
	}
    
}

// Example Source (Idea): http://tommcfarlin.com/add-custom-user-meta-during-registration/

?>

Vous en savez désormais plus sur vos membres.

Activer avec le plugin

Que faites-vous lorsque vous devez vérifier si un plugin est activé dans WordPress ? Eh bien, vous utilisez le hook activated_plugin : cette petite action pratique se déclenche lorsque le plugin est activé.

每次激活插件时向管理员发送电子邮件

假设您有很多客户网站(使用您的电子邮件地址安装),并且当客户在其网站上安装并激活新插件时,您需要收到通知。

只需使用此函数并将其挂接到 activated_plugins 即可:

<?php

add_action( 'activated_plugin', 'activated_plugin_example', 10, 2);
function activated_plugin_example( $plugin, $network_activation ) {
	
    $to			= get_option( 'admin_email' );
	$subject	= 'A plugin has been activated';
	$body		= "Hey,\n\nThe following plugin has just been activated:\n\n$plugin\n\nCheers!";
	
    wp_mail( $to, $subject, $body );
}

?>

处理配色方案选项

自 WordPress 3.0 起,我们的管理面板有了“配色方案”,并且我们可以编辑、添加或删除配色方案。 admin_color_scheme_picker 操作使用户可以更改颜色方案。

删除更改配色方案的选项

这个例子不需要太多介绍:如果您需要剥夺用户更改配色方案的权利(例如,因为您有一个特殊的配色方案并且您不希望用户将其更改回来)为默认值),使用下面的代码片段删除该选项:

<?php

if( is_admin() ) {
	remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
}

// Example Source: http://wpsnipp.com/index.php/functions-php/remove-admin-color-scheme-picker-from-profile/

?>

嘿,我们刚刚从同名的动作挂钩中删除了一个函数。我知道,这很奇怪。

处理注销过程

用户登录、用户注销,当他们注销时,将调用 wp_logout 操作。

注销后将用户重定向到主页

从 WordPress 网站注销有点奇怪:您会被重定向到登录页面,就像 WordPress 需要您再次登录一样。以下是解决该问题并将用户注销时重定向到主页的方法:

<?php

add_action( 'wp_logout', 'wp_logout_example' );

function wp_logout_example() {
	wp_redirect( home_url() );
	exit();
}

// Example Source: http://wpsnippy.com/auto-redirect-users-after-logout/

?>

现在,每次用户注销时,他们都会看到主页而不是登录表单。

第五部分结束

我们刚刚完成了本文中的最后一批 50 个操作。我希望你喜欢它并从中学到新东西。在下一篇文章中,我们将快速浏览一下我们所看到的内容并结束该系列。

我也想听听你的想法。您对这些行动有何看法?在下面发表您的评论。如果您喜欢这篇文章,别忘了分享!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn