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 !
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)
.
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é !
« 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.
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.
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.
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.
<head>
login_head
nous aide à contrôler la balise login_head
操作帮助我们控制登录页面上的 <head>
sur la page de connexion.
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.
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 </body>
标记之前的部分。 admin_footer
fait exactement cela.
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/ ?>
Nous pouvons utiliser wp_enqueue_scripts
将内容排队到前端,也可以使用 admin_enqueue_scripts
将内容排队到后端。那么登录页面呢?你猜对了:这次 login_enqueue_scripts
comme notre crochet !
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 !
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.
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.
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!