Wenn Sie unsere Serie verfolgt haben, wissen Sie, dass wir uns in der Endphase der Betrachtung von 50 Aktionen für WordPress befinden. Für diejenigen unter Ihnen, die gerade erst dabei sind, empfehle ich dringend, den vorherigen Artikel zu lesen (da dieser Artikel dort weitergeht, wo wir aufgehört haben) sowie die Artikel, die mit jedem der vorherigen Artikel verlinkt sind.
Dadurch erhalten Sie eine Vorstellung davon, wo wir jetzt stehen.
Lass uns anfangen!
Plugins haben auch Bedürfnisse: Sie benötigen möglicherweise In-Page-Skripte oder -Stile für ihre eigenen Optionsseiten. Mit der Aktion admin_head-(plugin_page)
können Inhalte in das admin_head-(plugin_page)
操作,可以将内容注入到特定插件页面的 -Tag einer bestimmten Plugin-Seite eingefügt werden.
Wenn Sie der Optionsseite Ihres Plugins etwas CSS-Stil hinzufügen müssen, hilft Ihnen der folgende Code:
<?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) ?>
Ändern Sie die auskommentierte Zeile mit Ihrem CSS-Code, ersetzen Sie den zweiten Teil des Aktionsnamens (tools_page_myplugin/myplugin
) durch Ihr eigenes Plugin, und schon kann es losgehen!
„Ping“ ist eine der ältesten Funktionen von WordPress und die pre_ping
-Aktion ermöglicht es uns, den Ping zu verarbeiten, bevor wir ihn bearbeiten.
WordPress unterscheidet beim Ping nicht zwischen internen und externen Links. Um das Selbst-Pinging zu deaktivieren, können Sie dieses praktische kleine Code-Snippet verwenden:
<?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/ ?>
Von nun an wird Ihre WordPress-Installation ihre eigenen Beiträge nicht mehr anpingen.
get_header()
FunktionWenn die Vorlage die Funktion get_header()
函数时,会调用 get_header
aufruft, wird die Operation get_header
aufgerufen, die sich sehr gut für Funktionen eignet, die WordPress-Front-End-Header ändern.
Wenn Sie es eilig haben und keine Zeit haben, das Plugin „Wartungsmodus“ zu installieren und seine Optionen festzulegen, können Sie einfach den folgenden Code verwenden und wp_die()
an alle außer dem Administrator ausgeben. Fehler:
<?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/ ?>
Da nur Administratoren (und Superadministratoren) über 'activate_plugins'
Fähigkeiten verfügen, ist die Website für alle außer Administratoren geschlossen.
<head>
login_head
hilft uns, das login_head
操作帮助我们控制登录页面上的 <head>
-Tag auf der Anmeldeseite zu steuern.
Wenn Ihnen der „Wackeleffekt“ nicht gefällt, der auftritt, wenn Benutzer falsche Anmeldeinformationen übermitteln, können Sie ihn mit der folgenden Funktion entfernen:
<?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 ?>
Aber ich mag den Effekt.
Manchmal möchten wir vielleicht die Fußzeile des Admin-Panels steuern – nicht den Fußzeilenbereich selbst, aber </body>
标记之前的部分。 admin_footer
macht genau das.
Ein konsistenter Farbsatz ist eines der Dinge, die ein WordPress-Admin-Panel schön machen, aber ich glaube nicht, dass eine Farbcodierung für Inhalte, die visuell getrennt werden müssen (wie z. B. unterschiedliche Beitragsstatus), schädlich ist.
Wenn Sie wie ich sind und veröffentlichte Beiträge von Entwürfen oder anderen Beitragsstatus unterscheiden möchten, verwenden Sie diesen 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/ ?>
Wir können wp_enqueue_scripts
将内容排队到前端,也可以使用 admin_enqueue_scripts
将内容排队到后端。那么登录页面呢?你猜对了:这次 login_enqueue_scripts
als unseren Haken nutzen!
Ich liebe das WordPress-Logo, aber ich denke nicht, dass es jedes Mal angezeigt werden sollte, wenn sich ein Benutzer auf meiner Website anmeldet. Wenn Sie das Gleiche denken, können Sie das WordPress-Logo mit diesem hilfreichen Snippet durch Ihr eigenes ersetzen:
<?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/ ?>
Legen Sie login-logo.png
文件放入主题的 /images/
in den Ordner und fertig!
Kennen Sie die Benutzerliste auf der Seite „Alle Benutzer“ des Admin-Panels? Die Aktion manage_users_custom_column
ermöglicht es uns, mithilfe begleitender Filter neue benutzerdefinierte Spalten zu dieser Liste hinzuzufügen.
Angenommen, Sie müssen die Registrierungsdaten der Mitglieder stapelweise überprüfen. Sie können den Datenbankeintrag jedes Mal überprüfen, wenn Sie diese Informationen benötigen, oder Sie können der Benutzerliste zusätzliche Spalten hinzufügen, indem Sie diesen Codeausschnitt verwenden:
<?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/ ?>
Jetzt wissen Sie mehr über Ihre Mitglieder.
Was tun Sie, wenn Sie überprüfen müssen, ob ein Plugin in WordPress aktiviert ist? Nun, Sie verwenden den activated_plugin
-Hook: Diese praktische kleine Aktion wird ausgelöst, wenn das Plugin aktiviert wird.
假设您有很多客户网站(使用您的电子邮件地址安装),并且当客户在其网站上安装并激活新插件时,您需要收到通知。
只需使用此函数并将其挂接到 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 个操作。我希望你喜欢它并从中学到新东西。在下一篇文章中,我们将快速浏览一下我们所看到的内容并结束该系列。
我也想听听你的想法。您对这些行动有何看法?在下面发表您的评论。如果您喜欢这篇文章,别忘了分享!
Das obige ist der detaillierte Inhalt vonFünfzig Aktionen für WordPress – Demo 50 Beispiele (von 41 bis 50). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!