2016-12-31 89 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'); 
} 
相关问题