我需要在单击电子邮件中的确认链接时更改网站上显示给用户的两个字符串(而不是修改发送的电子邮件)。我做了以下修改,效果很好:
--- wp-activate.bak 2017-02-28 13:01:03.883175677 +0530
+++ wp-activate.php 2017-02-28 13:47:35.000000000 +0530
@@ -13,6 +13,10 @@ require( dirname(__FILE__) . \'/wp-load.p
require( dirname( __FILE__ ) . \'/wp-blog-header.php\' );
+// Changes the header
+
+require( dirname(__FILE__) . \'/wp-custommsg.php\' );
+
if ( !is_multisite() ) {
wp_redirect( wp_registration_url() );
die();
@@ -128,7 +132,7 @@ get_header( \'wp-activate\' );
$url = isset( $result[\'blog_id\'] ) ? get_home_url( (int) $result[\'blog_id\'] ) : \'\';
$user = get_userdata( (int) $result[\'user_id\'] );
?>
- <h2><?php _e(\'Your account is now active!\'); ?></h2>
+ <h2><?php _e($active_page_title); ?></h2>
<div id="signup-welcome">
<p><span class="h3"><?php _e(\'Username:\'); ?></span> <?php echo $user->user_login ?></p>
@@ -147,7 +151,7 @@ get_header( \'wp-activate\' );
<?php else: ?>
<p class="view"><?php
/* translators: 1: login URL, 2: network home URL */
- printf( __( \'Your account is now activated. <a href="%1$s">Log in</a> or go back to the <a href="%2$s">homepage</a>.\' ), network_site_url( \'wp-login.php\', \'login\' ), network_home_url() );
+ printf( __( $active_page_msg ), network_site_url( \'wp-login.php\', \'login\' ), network_home_url() );
?></p>
<?php endif;
}
和wp custommsg。php包含:
<?php
$active_page_title = \'My custom title\';
$active_page_msg = \'My custom message\';
?>
我试着读一些关于钩子和动作的书,但似乎无法理解它们。如何将更改转换为插件,使其在wordpress版本更新后仍然有效?
为了澄清,这些修改位于wp activate中php内容之外的html代码中。据我所知,php没有挂钩。