这是一个开发前端模板的常见场景,在账户中心添加新模块或页面,增加用户中心的集成度。
不扯淡,直接开干!
在下面模板目录增加一个新文件
/wp-content/themes/zzbang.cn/wpuf/my-page.php 或 /wp-content/plugins/wp-user-frontend/templates/my-page.php
这样,这个页面会被account.php加载进来。
在你主题的functions.php 文件中,加入下面代码,把新模块页面加载到左侧菜单导航里。
/*
* Add custom section/menu (My Page) on the My Account page
*/
add_filter( 'wpuf_account_sections', 'wpuf_my_page' );
function wpuf_my_page( $sections ) {
$sections = array_merge( $sections, array( array( 'slug' => 'my-page', 'label' => 'My Page' ) ) );
return $sections;
}
add_action( 'wpuf_account_content_my-page', 'wpuf_my_page_section', 10, 2 );
function wpuf_my_page_section( $sections, $current_section ) {
wpuf_load_template(
"my-page.php",
array( 'sections' => $sections, 'current_section' => $current_section )
);
}
至于用户中心的前端页面,可以添加页面,复制粘贴进去短代码[[wpuf_account]] ,这样可以快速构建前端用户中心。
如果你想将新页面加载到菜单项,则必须加载到wpuf_account_sections 过滤器.
添加自己的页面
如果你要添加一个 slug为 `your-score`的新页面, 可以借鉴下面的代码.
$sections = array_merge( $sections, array( array( 'slug' => 'your-score', 'label' => 'Scoreboard' ) ) );
把上面代码同样复制粘贴到主题或子主题的 functions.php 文件。
现在,需要为新页面增加功能了:
add_action( 'wpuf_account_content_your-score', 'wpuf_your_score_section', 10, 2 );
function wpuf_your_score_section( $sections, $current_section ) {
wpuf_load_template(
"my-page.php",
array( 'sections' => $sections, 'current_section' => $current_section )
);
}
调用方式:
add_action ( 'wpuf_account_content_my-page', 'wpuf_my_page_section', 10, 2 );
分别代表顺序和优先级。因此,根据数量,可以更改标签顺序。请注意,您可以覆盖默认模板或加载任何自定义模板。要覆盖内置模板,请按照如何覆盖模板中的说明进行操作。要创建自定义模板,请遵循与覆盖模板相同的说明,并将模板文件名添加到以下代码行。例如,如果我们将自定义模板添加为“my-page.php”,那么我们的代码将如下所示
wpuf_load_template(
"my-page.php",
array( 'sections' => $sections, 'current_section' => $current_section )
);
举个例子
add_filter( 'wpuf_account_sections', 'wpuf_my_page' );
function wpuf_my_page( $sections ) {
$sections = array_merge( $sections, array( array( 'slug' => 'my-page', 'label' => '<strong>My Page</strong>' ) ) );
return $sections;
}
add_action( 'wpuf_account_content_my-page', 'wpuf_my_page_section', 10, 2 );
function wpuf_my_page_section( $sections, $current_section ) {
wpuf_load_template(
"my-page.php",
array( 'sections' => $sections, 'current_section' => $current_section )
);
}
*** 您可以将标签“我的页面”更改为您想要的任何标签。