Heim  >  Artikel  >  CMS-Tutorial  >  Fünfzig Aktionen für WordPress – Demo 50 Beispiele (von 41 bis 50)

Fünfzig Aktionen für WordPress – Demo 50 Beispiele (von 41 bis 50)

WBOY
WBOYOriginal
2023-09-03 17:25:071332Durchsuche

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

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!

In die Plug-in-Verwaltungsseite eingefügt

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.

Fügen Sie Stile zu Ihrer Plugin-Administratorseite hinzu

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!

Bearbeiten Sie es, bevor Sie es anpingen

„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.

Selbst-Ping deaktivieren

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.

Verwenden Sie die get_header()Funktion

Wenn 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.

Einfachen Wartungsmodus aktivieren

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.

Manipulation der Anmeldeseite

Die Operation

login_head hilft uns, das login_head 操作帮助我们控制登录页面上的 -Tag auf der Anmeldeseite zu steuern.

Beseitigen Sie den Shake-Effekt bei falschen Anmeldeinformationen

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.

Dashboard-Fußzeile verwenden

Manchmal möchten wir vielleicht die Fußzeile des Admin-Panels steuern – nicht den Fußzeilenbereich selbst, aber 标记之前的部分。 admin_footer macht genau das.

Schnelle Stile zum Beitragsstatus hinzufügen

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/

?>

Warteschlangenskripte und -stile auf der Anmeldeseite

Wir können wp_enqueue_scripts 将内容排队到前端,也可以使用 admin_enqueue_scripts 将内容排队到后端。那么登录页面呢?你猜对了:这次 login_enqueue_scripts als unseren Haken nutzen!

Ändern Sie das Logo über dem Anmeldeformular

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!

Benutzerdefinierte Spalten zur Benutzerliste hinzufügen

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.

Zeigen Sie das Registrierungsdatum des Benutzers in einer Spalte an

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.

Mit Plugin aktivieren

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn