Rumah  >  Artikel  >  Tutorial CMS  >  Lima Puluh Tindakan untuk WordPress - Contoh Demo 50 (dari 41 hingga 50)

Lima Puluh Tindakan untuk WordPress - Contoh Demo 50 (dari 41 hingga 50)

WBOY
WBOYasal
2023-09-03 17:25:071332semak imbas

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

Jika anda telah mengikuti siri kami, anda tahu bahawa kami berada di peringkat terakhir untuk melihat 50 Tindakan untuk WordPress. Bagi anda yang baru menyertai kami, saya amat mengesyorkan anda menyemak artikel sebelumnya (kerana artikel ini bersambung di mana kami berhenti) serta artikel yang dipautkan kepada setiap artikel sebelumnya.

Ini akan memberi anda gambaran di mana kami berada sekarang.

Jom mulakan!

Disuntik ke dalam

halaman pengurusan pemalam

插件也有需求:它们可能需要用于自己的选项页面的页内脚本或样式。使用 admin_head-(plugin_page) 操作,可以将内容注入到特定插件页面的 标记中。

为您的插件管理页面添加样式

如果您需要向插件的选项页面添加一些 CSS 样式,下面的代码将帮助您:

<?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)

?>

用您的CSS代码更改注释掉的行,用您自己的插件替换操作名称的第二部分(tools_page_myplugin/myplugin),然后就可以开始了!

在处理 Ping 之前对其进行处理

“Ping”是 WordPress 最古老的功能之一,而 pre_ping 操作可让我们在处理 ping 之前对其进行处理。

禁用自 Ping

在 ping 方面,WordPress 不区分内部链接和外部链接。要禁用自我 ping,您可以使用这个方便的小代码片段:

<?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/

?>

从现在开始,您的 WordPress 安装将不会 ping 自己的帖子。

使用 get_header() 函数

当模板调用 get_header() 函数时,会调用 get_header 操作,非常适合修改 WordPress 前端标头的函数。

激活简单维护模式

如果您很着急,没有时间安装“维护模式”插件并设置其选项,您可以简单地使用下面的代码,并向除管理员之外的所有人发出 wp_die() 错误:

<?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/

?>

由于只有管理员(和超级管理员)才有'activate_plugins'能力,因此网站将对除管理员之外的所有人关闭。

篡改登录页面的

login_head 操作帮助我们控制登录页面上的 标签。

消除不正确凭据的摇动效果

如果您不喜欢用户提交错误登录信息时出现的“摇晃”效果,可以使用以下功能将其删除:

<?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

?>

不过我喜欢这个效果。

使用仪表板的页脚

有时,我们可能想要控制管理面板的页脚 - 不是页脚部分本身,而是 标记之前的部分。 admin_footer 操作正是这样做的。

为帖子状态添加快速样式

拥有一组一致的颜色是使 WordPress 管理面板美观的原因之一,但我认为对于需要在视觉上分隔的内容(例如不同的帖子状态)进行某些颜色编码没有任何害处。

如果您像我一样并且希望能够区分已发布的帖子与草稿或其他帖子状态,请使用以下代码:

<?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/

?>

在登录页面中排队脚本和样式

我们可以使用 wp_enqueue_scripts 将内容排队到前端,也可以使用 admin_enqueue_scripts 将内容排队到后端。那么登录页面呢?你猜对了:这次 login_enqueue_scripts 是我们的钩子!

更改登录表单上方的徽标

我喜欢 WordPress 徽标,但我不认为每次用户登录我的网站时都应该显示它。如果您也有同样的想法,您可以使用下面这个有用的代码片段将 WordPress 徽标替换为您自己的徽标:

<?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/

?>

login-logo.png 文件放入主题的 /images/ 文件夹中,就可以了!

将自定义列添加到用户列表

您知道管理面板“所有用户”页面中的用户列表吗? manage_users_custom_column 操作允许我们借助随附的过滤器向该列表添加新的自定义列。

在一列中显示用户的注册日期

假设您需要批量查看会员的注册日期。您可以在每次需要该信息时检查数据库记录,也可以使用此代码片段向用户列表添加额外的列:

<?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/

?>

现在您对您的会员有了更多了解。

使用插件激活

当您需要检查 WordPress 中的插件是否已激活时,您该怎么办?好吧,您使用 activated_pluginPlugin juga mempunyai keperluan: mereka mungkin memerlukan skrip atau gaya dalam halaman untuk halaman pilihan mereka sendiri. Menggunakan tindakan admin_head-(plugin_page), anda boleh menyuntik kandungan ke dalam teg halaman pemalam tertentu.

Tambah gaya pada halaman pengurusan pemalam anda

#🎜🎜# Jika anda perlu menambah beberapa gaya CSS pada halaman pilihan pemalam, kod berikut akan membantu anda: #🎜🎜#
<?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 );
}

?>
#🎜🎜#Tukar baris keluar yang diulas dengan kod CSS anda, gantikan bahagian kedua nama tindakan dengan pemalam anda sendiri (tools_page_myplugin/myplugin), dan anda boleh pergi! #🎜🎜# #🎜🎜#Proses Ping sebelum Diproses #🎜🎜# "Ping" ialah salah satu ciri tertua WordPress dan tindakan pre_ping membolehkan kami memproses ping sebelum ia diproses. #🎜🎜#

Lumpuhkan ping kendiri

#🎜🎜# WordPress tidak membezakan antara pautan dalaman dan luaran semasa melakukan ping. Untuk melumpuhkan ping sendiri, anda boleh menggunakan coretan kod kecil yang berguna ini: #🎜🎜#
<?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/

?>
#🎜🎜#Mulai sekarang, pemasangan WordPress anda tidak akan ping siarannya sendiri. #🎜🎜# #🎜🎜#Gunakan fungsi get_header() #🎜🎜#Apabila templat memanggil fungsi get_header(), operasi get_header akan dipanggil, iaitu fungsi yang sangat sesuai untuk mengubah suai pengepala bahagian hadapan WordPress . #🎜🎜#

Aktifkan mod penyelenggaraan mudah

#🎜🎜# Jika anda tergesa-gesa dan tidak mempunyai masa untuk memasang pemalam "Mod Penyelenggaraan" dan menetapkan pilihannya, anda boleh menggunakan kod di bawah dan mengeluarkan wp_die() kepada semua orang kecuali kod pentadbir> Ralat: #🎜🎜# <pre class="brush:php;toolbal:false;">&lt;?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/ ?&gt; </pre> #🎜🎜# Memandangkan hanya pentadbir (dan pentadbir super) yang mempunyai keupayaan <code>'activate_plugins', tapak tersebut akan ditutup kepada semua orang kecuali pentadbir. #🎜🎜# #🎜🎜#Mengganggu halaman log masuk #🎜🎜#Operasi login_head membantu kami mengawal teg pada halaman log masuk. #🎜🎜#

Hapuskan kesan goncangan bukti kelayakan yang salah

#🎜🎜# Jika anda tidak menyukai kesan "gegaran" yang berlaku apabila pengguna menyerahkan maklumat log masuk yang salah, anda boleh mengalih keluarnya menggunakan fungsi berikut: #🎜🎜# rrreee #🎜🎜#Tetapi saya suka kesan ini. #🎜🎜# #🎜🎜#Gunakan pengaki papan pemuka #🎜🎜#Kadangkala, kita mungkin mahu mengawal pengaki panel pentadbir - bukan bahagian pengaki itu sendiri, tetapi bahagian sebelum teg . Tindakan admin_footer melakukan perkara itu. #🎜🎜#

Tambah gaya pantas pada status siaran

#🎜🎜#Memiliki set warna yang konsisten ialah salah satu perkara yang menjadikan panel pentadbir WordPress cantik, tetapi saya rasa tidak ada kemudaratan dalam sesetengah pengekodan warna untuk kandungan yang perlu diasingkan secara visual (seperti status siaran yang berbeza) . #🎜🎜# #🎜🎜# Jika anda seperti saya dan ingin dapat membezakan siaran yang diterbitkan daripada draf atau status siaran lain, gunakan kod ini: #🎜🎜# rrreee #🎜🎜#Skrip dan gaya baris gilir dalam halaman log masuk #🎜🎜#Kami boleh menggunakan wp_enqueue_scripts untuk menyusun baris kandungan ke bahagian hadapan, atau kami boleh menggunakan admin_enqueue_scripts untuk menyusun baris kandungan ke bahagian belakang. Bagaimana dengan halaman log masuk? Anda dapat menekanya: kali ini login_enqueue_scripts ialah cangkuk kami! #🎜🎜#

Tukar logo di atas borang log masuk

#🎜🎜# Saya suka logo WordPress, tetapi saya rasa ia tidak sepatutnya dipaparkan setiap kali pengguna log masuk ke tapak saya. Jika anda memikirkan perkara yang sama, anda boleh menggantikan logo WordPress dengan logo anda sendiri menggunakan coretan berguna ini: #🎜🎜# rrreee #🎜🎜#Letakkan fail login-logo.png ke dalam folder /images/ tema anda, dan anda boleh pergi! #🎜🎜# #🎜🎜#Tambah lajur tersuai pada senarai pengguna #🎜🎜# Adakah anda tahu senarai pengguna dalam halaman "Semua Pengguna" panel pentadbir? Tindakan manage_users_custom_column membolehkan kami menambah lajur tersuai baharu pada senarai ini dengan bantuan penapis yang disertakan. #🎜🎜#

Tunjukkan tarikh pendaftaran pengguna dalam satu lajur

#🎜🎜#Andaikan anda perlu menyemak tarikh pendaftaran ahli secara berkelompok. Anda boleh menyemak rekod pangkalan data setiap kali anda memerlukan maklumat itu, atau anda boleh menambah lajur tambahan pada senarai pengguna menggunakan coretan kod ini: #🎜🎜# rrreee #🎜🎜#Kini anda mengetahui lebih lanjut tentang ahli anda. #🎜🎜# #🎜🎜#Gunakan pemalam untuk mengaktifkan #🎜🎜#Apa yang anda lakukan apabila anda perlu menyemak sama ada pemalam dalam WordPress diaktifkan? Nah, anda menggunakan cangkuk activated_plugin: tindakan kecil yang berguna ini dicetuskan apabila pemalam diaktifkan. #🎜🎜#

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

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

只需使用此函数并将其挂接到 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 个操作。我希望你喜欢它并从中学到新东西。在下一篇文章中,我们将快速浏览一下我们所看到的内容并结束该系列。

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

Atas ialah kandungan terperinci Lima Puluh Tindakan untuk WordPress - Contoh Demo 50 (dari 41 hingga 50). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn