【问题标题】:Unable to edit markup in woocommerce my account page无法在 woocommerce 我的帐户页面中编辑标记
【发布时间】:2018-09-02 04:05:17
【问题描述】:

woo 商务模板 my-account.php 只有这么多代码 →

do_action( 'woocommerce_account_navigation' ); ?>

<div class="woocommerce-MyAccount-content">
    <?php
        /**
         * My Account content.
         * @since 2.6.0
         */
        do_action( 'woocommerce_account_content' );
    ?>
</div>

我继续搜索了有关此“woocommerce_account_content”的更多信息

我找到this one

/**
     * My Account content output.
     */
    function woocommerce_account_content() {
        global $wp;

        if ( ! empty( $wp->query_vars ) ) {
            foreach ( $wp->query_vars as $key => $value ) {
                // Ignore pagename param.
                if ( 'pagename' === $key ) {
                    continue;
                }

                if ( has_action( 'woocommerce_account_' . $key . '_endpoint' ) ) {
                    do_action( 'woocommerce_account_' . $key . '_endpoint', $value );
                    return;
                }
            }
        }

        // No endpoint found? Default to dashboard.
        wc_get_template( 'myaccount/dashboard.php', array(
            'current_user' => get_user_by( 'id', get_current_user_id() ),
        ) );
    }

我仍然没有得到标记。请指导我如何添加自定义标记? 我认为这些端点掌握了线索,但我仍然无法弄清楚如何?

【问题讨论】:

  • WooCommerce 我的帐户页面由几个子页面组成,那么您到底想更改什么以便我们可以为您指明方向?例如,如果您想更改订单页面,您需要在我的帐户文件夹和我的帐户中查找 orders.php,您可以找到我的帐户的所有默认子页面
  • 我和 O.P. 有同样的问题假设如果我想更改菜单部分。例如,我的意思是this one。如何启动我的自定义标记/html/css
  • @somethingnow 我将在一个小时内到达我的电脑前,如果没有人回答,我会写一些解释和示例作为答案
  • 我正在和 O.P 一起等待。我相信这也会回答她的问题。如果我们知道如何编辑一件事,其他人可以相应地处理。我的问题特别与如何添加我自己的标记覆盖 woocommerce 的标记有关。
  • @somethingnow 检查下面的答案,我希望它对你也有帮助。

标签: wordpress woocommerce hook-woocommerce


【解决方案1】:

这里是关于 WooCommerce 我的帐户页面模板以及如何覆盖 html 标记的说明。

在我的示例中,我将使用 twitter 引导程序。

WooCommerce 我的帐户基本上是一个包含多个子页面的页面,您可以通过导航在子页面之间切换。

主要的主要标记由两个div组成,一个用于导航,一个用于它自己的内容

我的帐户子页面的层次结构如下:

My-account Main Page -> my-account.php : 
                  - dashboard.php 
                  - downloads.php 
                  - form-add-payment-method.php
                  - form-edit-account
                  - form-edit-address
                  - form-login.php
                  - form-lost-password.php
                  - form-reset-password.php
                  - list-password-confirmation.php
                  - my-address.php
                  - my-download.php
                  - navigation.php
                  - orders.php
                  - payment-methods.php
                  - view-order.php

示例 1:

假设我们想用引导网格系统包装主要内容。

为了实现这一点,您需要转到my-account.php 并添加所需的 div 和类,如下所示:

<div class="container-fluid">
    <div class="row">
        <div class="col-3">
        <?php do_action('woocommerce_account_navigation');?>
            </div>

            <div class="col-9">

            <?php
/**
 * My Account content.
 * @since 2.6.0
 */
do_action('woocommerce_account_content');
?>
        </div>
    </div>
</div>

示例 2:

假设你想修改导航,这样你就可以拥有 bootstrap nav-pills 样式:

转到navigation.php并添加所需的类,如下所示:

<ul class="nav flex-column nav-pills my_account_nav"  >
    <?php foreach (wc_get_account_menu_items() as $endpoint => $label):
     global $wp;
     $current = isset($wp->query_vars[$endpoint]);
      ?>
        <li class="nav-item <?php echo wc_get_account_menu_item_classes($endpoint); ?>">
        <a class="nav-link <?php echo ($current) ? 'active' : ''; ?>" href="<?php echo esc_url(wc_get_account_endpoint_url($endpoint)); ?>"> <?php echo esc_html($label); ?>
        </a>
        </li>
     <?php endforeach;?>
    </ul>

如果您需要更改其他子页面模板,您需要转到您想要的特定模板并在其中编写您的标记修改。

我希望这对你来说已经足够清楚了。

【讨论】:

  • 这是一个很好的见解。我希望 O.P. 也能从中受益。
  • 他们在做什么角色和职能→woocommerce_before_account_navigationwoocommerce_after_account_navigation
  • 感谢您的帮助我更关心这个 div 来自哪里 → &lt;div class="woocommerce"&gt; | screencast.com/t/Pb7xnlIy8
  • 它来自class-wc-shortcodes.php内部的shortcode_wrapper方法
  • 你能指导我如何改变它吗?我的意思是我应该尝试更改哪个文件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
  • 2018-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多