簡體   English   中英

僅在 WooCommerce 我的帳戶儀表板中添加自定義 html 內容

[英]Add custom html content in WooCommerce My Account Dashboard only

我正在將 WordPress 與 WooCommerce 和 WooCommerce 訂閱插件一起使用,並且根據我的要求可以正常工作。

現在我想在登錄系統后在/my-account/頁面中添加我的自定義div即( http://www.example.com/my-account )。

在此處輸入圖像描述

所以我研究並發現了這個頁面/wp-content/plugins/woocommerce/templates/myaccount/my-account.php並且該頁面具有以下代碼。

<?php 
defined( 'ABSPATH' ) || exit;

do_action( 'woocommerce_account_navigation' ); ?>

<div class="woocommerce-MyAccount-content">
    <?php       
        do_action( 'woocommerce_account_content' );
    ?>
</div>

因此,我添加了類似這樣的代碼代碼

<div>Test</div>

下面do_action( 'woocommerce_account_content' ); 但隨后它出現在my-account/orders//my-account/downloads/等所有頁面中。我不想要它。

在此處輸入圖像描述

在此處輸入圖像描述

如何僅在/my-account/頁面中顯示此內容? 此外,我怎樣才能通過復制我的一個活動主題來覆蓋此頁面,以便我不需要更改插件的核心文件?

要使其僅顯示在我的帳戶儀表板中而不覆蓋任何模板文件,您可以使用以下掛鈎 function 代替:

add_action( 'woocommerce_account_dashboard', 'custom_account_dashboard_content' );
function custom_account_dashboard_content(){
    echo '<div>' . __("Test", "woocommerce") . '</div>';
}

代碼進入活動子主題(或活動主題)的functions.php文件。 測試和工作。

自定義 html 內容僅按預期添加到我的帳戶儀表板(不覆蓋任何模板文件)

在此處輸入圖像描述

注意:這需要將WooCommerce原來的相關模板文件替換回來。

您在模板的正確軌道上,但還不夠深入。 我們可以通過另一個do_action()看到它仍在您正在處理的代碼中拉入另一個模板 - 在這種情況下,是專門用於該儀表板頁面的代碼。

代碼更改

而不是/wp-content/plugins/woocommerce/templates/myaccount/my-account.php ,你想 go 到: /wp-content/plugins/woocommerce/templates/myaccount/dashboard.php

在那里,您會找到此代碼(顯示默認消息),您可以在那里添加您的自定義 div,它只會顯示在儀表板上。 大約第 50 行(截至寫作時)你會看到

    printf(
        wp_kses( $dashboard_desc, $allowed_html ),
        esc_url( wc_get_endpoint_url( 'orders' ) ),
        esc_url( wc_get_endpoint_url( 'edit-address' ) ),
        esc_url( wc_get_endpoint_url( 'edit-account' ) )
    );
    ?>
</p>

您可以在結束</p>下添加任何自定義代碼以留在段落下方。 如果你想要它在段落上方,你可以在第 41 行左右開始寫,在結束之后再次寫</p>

覆蓋模板

您可能希望在您的主題中覆蓋該模板,因此在您的主題中,創建一個文件夾/文件結構,如下所示:

[yourtheme]/woocommerce/myaccount/dashboard.php 您有意不在主題覆蓋中包含templates 您可以將dashboard.php復制到此文件夾並編輯該版本。

有一些關於模板結構和覆蓋的開發人員文檔可能會在這里查看: https://docs.woocommerce.com/document/template-structure/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM