2016-12-31 91 views
0

我正在嘗試將編輯鏈接添加到我的woocommerce頁面以及歸檔頁面上的所有產品。如何在woocommerce頁面上添加編輯鏈接?

對於頁面本身,我嘗試這樣做:

add_filter('woocommerce_before_shop_loop', 'woo_page_edit_link', 10); 

function woo_page_edit_link() { 
    edit_post_link('e', '', ''); 
} 

但不是頁面ID,我總是列出的第一個產品的ID。

對於循環,我想這一點:

add_filter('woocommerce_before_shop_loop_item' , 'woo_item_edit_link'); 

function woo_item_edit_link() { 
    edit_post_link('e', '', ''); 
} 

但始終編輯鏈接被嵌套店項目鏈接。

任何想法如何解決這兩個問題?

回答

1

woocommerce_before_shop_loop在循環標記之前,但產品查詢已經建立,所以當前的$post是第一個產品。您可以使用edit_post_link()的第4個參數來定義特定的頁面ID。 WooCommerce有一個內置函數來獲取它的自定義頁面的頁面ID。因爲所以,如果你把你的功能在同一個(或更高版本)的優先級,你就有可能被鏈接內woocommerce_template_loop_product_link_open()鉤住woocommerce_before_shop_loop_item與10優先級的內部鏈接

add_filter('woocommerce_before_shop_loop', 'woo_page_edit_link', 10); 

function woo_page_edit_link() { 
    edit_post_link('edit shop', '', '', wc_get_page_id('shop')); 
} 

而且你的項目編輯鏈接出現。爲了解決這個問題,你可以使用如下的早期優先級。

add_filter('woocommerce_before_shop_loop_item' , 'woo_item_edit_link', 5); 

function woo_item_edit_link() { 
    edit_post_link('edit product'); 
} 
相關問題