如何在WooCommerce中自定义我的账户页面

WooCommerce 我的账户页面的重要性

WooCommerce 我的账户页面是您 WooCommerce 网站上最重要的页面之一。这是客户管理账户详情、查看订单历史和跟踪订单状态的页面。他们也可以在这里联系你,提出问题或问题。

确保您的WooCommerce我的账户页面设计良好且易于使用,对于提供良好的客户体验至关重要。

确保您的WooCommerce我的账户页面设计良好且易于使用,对于提供良好的客户体验至关重要。设计良好的账户仪表盘将使客户轻松找到所需信息,账户详情应显示并易于编辑。

[woocommerce_my_account]短码

[woocommerce_my_account]短码显示WooCommerce商店中的“我的账户”页面。该页面对已登录的客户开放,提供账户详情、过往订单、付款方式以及收费和账单地址的概览。客户还可以编辑账户详情、查看订单历史,并从此页面下载数字产品。

WooCommerce 的“我的账户”页面在哪里?

在WooCommerce中,“我的账户”页面是一个实际的WordPress页面,带有相应的WooCommerce短代码[woocommerce_my_account].任何带有该短代码的嵌入WordPress页面都会显示默认的账户管理标签和内容。在这里,您可以查看近期订单列表,管理发货状态,并编辑密码和账户信息。

为什么要在WooCommerce中自定义我的账户页面?

在WooCommerce中定制“我的账户”页面有很多原因。通过定制WooCommerce My Account页面,您可以让它更易用、更有信息量。此外,添加关键账户信息也有助于客户更有效地管理账户。定制账户页面可以提升其对企业和客户的价值。

那么,废话不多说,让我们看看“我的账户”页面。

自定义WooCommerce 我的账户

与用户注册、添加自定义字段和WooCommerce客户资料构建类似的方式,你可以通过插件或编写WordPress文件来自定义我的账户页面。既然本文将重点介绍其编码方面。你可以通过以下方式自定义页面。

如何以程序编辑WooCommerce My Account页面

要用程序编辑WooCommerce My Account页面,可以使用专用的代码片段插件,或者将自定义代码添加到子WordPress主题的functions.php文件中

更改菜单顺序

默认情况下,我的账户页面菜单如下。

要更改菜单中账户标签的顺序,可以使用woocommerce_account_menu_items过滤器。该过滤器允许你通过修改显示的项目来自定义账户菜单。项目以数组形式传递到过滤器,每个键代表菜单项的唯一ID,值代表菜单项的显示标题。要重新排序标签页,只需返回菜单项数组的顺序。以下示例展示了如何使用该钩子。你可以将此代码添加到子主题的functions.php文件中。

function my_account_menu_order($menu_items){

    $reordered_items = array(
        'dashboard' => __('Dashboard', 'woocommerce'),
        'downloads' => __('Download', 'woocommerce'),
        'edit-address' => __('Addresses', 'woocommerce'),
        'edit-account' => __('Account Details', 'woocommerce'),
        'customer-logout' => __('Logout', 'woocommerce'),
        'orders' => __('Orders', 'woocommerce')
    );

    return $reordered_items;
}

add_filter('woocommerce_account_menu_items', 'my_account_menu_order');
WooCommerce 我的账户定制菜单订单

正如你在这个例子中看到的,我们把“订单”标签移到了菜单的末尾。保存文件并刷新WooCommerce账户页面,查看修改后的结果。

更改标签名称

我们再次可以使用woocommerce_account_menu_items过滤器来更改账户标签的名称。如果你用了上面的代码片段重新排序商品,可以直接在代码片段中指定标签页名称。

如果你只需要更改标签页名称而不重新排序,可以用指定的键更新菜单项的标题。在下面的示例中,我们将编辑账户标签的名称从“账户详情”改为“详情”:

function my_account_rename_items($menu_items){

    if(isset($menu_items['edit-account'])){
        $menu_items['edit-account'] = __('Details', 'my_text_domain');
    }

    return $menu_items;
}

add_filter('woocommerce_account_menu_items', 'my_account_rename_items');
WooCommerce 我的账户定制菜单,修改文本

这会在网页上产生如下结果:

更改标签页图标

在这个演示中,我们使用StoreFront主题来展示截图。主题默认使用了字体极棒的图标。因此,我们将向您展示如何使用font-awesome更改标签页的图标。

标签页的图标可以用一点自定义CSS来更改。你可以把自定义CSS添加到WordPress仪表盘的外观 -> 自定义 -> 附加CSS部分。

你可以应用图标的CSS选择器取决于对应的菜单项。例如,对于订单项目,您可以使用以下选择器:

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link–orders a::before

这里有一个将“订单”菜单项图标改为购物车商品的示例:

.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--orders a::before{
  content: "f15c";
}

图标可以通过将对应的Unicode设置为“content”属性来更改。你可以在这里找到那些字体超棒的代码。

上述类别的默认值是“f15c”。如果我们把它改成“f07a”,订单标签页的图标会是这样的:

WooCommerce 我的账户自定义菜单更改图标

新增菜单标签页和内容

要在菜单中添加新标签,首先需要创建一个自定义端点。

WooCommerce 中的终端是什么

WooCommerce 中的端点是 URL 的额外部分,显示同一页面的不同内容。例如,在“我的账户”页面的URL上添加“编辑账户”这样的端点,会显示编辑账户内容,而不是默认的账户总览。这使得动态内容无需多页即可实现,简化了网站结构和用户体验。

要在菜单上添加新标签页,你需要完成以下三个步骤。

  1. 注册端点

要在菜单上添加新标签页,首先需要创建一个账户端点。它作为 /my-account/ 之后的 URL slug 作用。要添加名为“我的忠诚”的新标签页,请在functions.php文件中添加以下端点。

function my_account_new_endpoints() {
    add_rewrite_endpoint('loyalty', EP_PAGES);
}

add_action( 'init', 'my_account_new_endpoints' );

现在,进入设置>永久链接页面,点击“保存更改”(不应用任何更改)。这样做可以清除永久链接,让网站能够接收新创建的端点。

  1. 添加端点内容

现在,将以下内容添加到functions.php中。

function my_loyalty_endpoint_content() {
    get_template_part('my-account-loyalty');
}

add_action('woocommerce_account_loyalty_endpoint', 'my_loyalty_endpoint_content');

完成后,在子主题的根目录中创建一个名为 my-account-loyalty.php 的新 php 文件。这里可以插入新账户页面的自定义代码/内容。例如:

<h2>Our loyalty program</h2>

<?php

// your custom code goes here

你也可以直接从以下内容渲染my_loyalty_endpoint_content()函数,而不是创建一个独立的文件。

  1. 把标签添加到菜单中

创建文件后,将标签添加到菜单中,如下所示。

function my_account_rename_items($menu_items){
    $menu_items['loyalty'] = __('My Loyalty', 'my_text_domain');
    return $menu_items;
}

add_filter('woocommerce_account_menu_items', 'my_account_rename_items');

这样做会把标签添加到菜单中。

在标签页中添加图标

最后,你可能需要添加一个图标。在icons.css文件中,搜索包含新创建标签页图标的类,并添加内容代码。

之后,您可以在“我的账户”页面的菜单栏看到以下变化。

WooCommerce 我的账户自定义菜单添加项目

向现有标签页添加自定义内容

有时候,WooCommerce 账户页面的默认内容可能不够。你可能需要添加一些自己的文字来个性化你的网站。为了演示如何更改页面内容,我们将举一个WooCommerce仪表盘页面的例子。

我们需要在你孩子的主题中创建一个 woocommerce 文件夹。然后,我们会添加想要覆盖的必要文件。我们需要确保保持默认的WooCommerce文件结构。

你只需在子主题的 woocommerce 文件夹中创建一个同名相同路径的文件,就能覆盖默认的 WooCommerce 模板文件。你可以在 WooCommerce 插件的 woocommerce/templates 文件夹中找到所有 WooCommerce 模板文件的列表。

例如,如果你需要覆盖位于 WooCommerce 插件中、以下路径的仪表盘模板:

WooCommerce/模板/Myaccount/dashboard.php

你需要在子主题中创建一个文件,路径如下:

WooCommerce/MyAccount/dashboard.php

之后,复制模板文件中的默认WooCommerce模板内容。你可以通过从 WooCommerce GitHub 仓库下载你版本的仪表盘页面模板,或者从你的 WordPress 安装插件目录复制来实现。完成后,你可以自定义模板代码。

在下面的示例中,我们在dashboard.php文件中添加了<h3>Test Content</h3>行:

WooCommerce 我的账户-自定义更改 -添加文本

菜单前后切入点

在WordPress中,钩子是允许你修改或添加代码而不更改核心文件的功能。WooCommerce 的前后菜单钩子允许你在菜单下方或之后添加任何文本或 HTML 代码。它会明确添加内容,要么在<导航>元素之前或之后添加。

请在functions.php文件中使用以下代码在菜单前添加内容。

add_action('woocommerce_before_account_navigation', 'before_content');
function before_content(){
  echo 'Content added before the menu';
}

同样,使用以下代码在菜单后添加内容。

add_action('woocommerce_before_account_navigation', 'after_content');
function after_content(){
  ?>
  <h2>Content added before the menu</h2>
  <?php
}

完成后,菜单看起来类似以下内容。

WooCommerce 我的账户定制 添加内容

不过,在大多数情况下,我的账户<导航>元素有一个float:left的CSS属性。因此,添加代码后你需要仔细检查菜单的界面,并据此调整。

如何获得WooCommerce 我的账户页面链接

如果你需要从WooCommerce商店的其他部分链接到“我的账户”页面,或者想在邮件模板中包含,你可以获取以下WooCommerce my-account的网址

<a href="<?php echo get_permalink( get_option('woocommerce_myaccount_page_id') ); ?>" title="<?php _e('My Account',''); ?>"><?php _e('My Account',''); ?></a>

如何使用插件自定义你的WooCommerce My Account Page(我的账户页面)

如果你想自定义你的WooCommerce“我的账户”页面,可以使用专门的账户页面插件。有许多插件可以帮助你定制WooCommerce我的账户页面。

在这篇文章中,我们向你展示了如何通过程序化自定义WooCommerce中的“我的账户”页面。不过,如果你不想写代码和编辑代码,也可以用插件自定义你的WooCommerce“我的账户”页面。

我爱主题网 自2012
主题:260+ 销售:1000+
兼容浏览器

电话咨询

7*12服务咨询电话:

1855-626-3292

微信咨询