我们使用的当前Woocommerce版本是2.5.5我在编辑帐户页面中使用以下短代码。
[woocommerce_edit_account]
但是,我的页面显示主页而不是编辑帐户页面。现在有些新东西吗?
答案 0 :(得分:1)
它们不再起作用,它们仅适用于Woocommerce 2.1或更低版本。它们已被端点替换,因此您需要执行以下操作:
$my_account_link = get_permalink( get_option('woocommerce_myaccount_page_id') );
$edit_acount_link = $my_account_link . '/edit-account';
如果第一行太长,请尝试使用:
$my_account_link = get_bloginfo('url'). '/my-account';
您可以在以下位置阅读有关端点的更多信息:https://docs.woothemes.com/document/woocommerce-endpoints-2-1/
答案 1 :(得分:1)
您可以使用原生WooCommerce功能wc_customer_edit_account_url()。
(它也用于woocommerce my_account.php
模板)。
正如Skatox提到的那样,[woocommerce_edit_account]
不再有效。
您可以将其与自定义自关闭短代码一起使用:
// Paste this in the function.php file of your active child theme or theme.
function wc_customer_edit_account_shortcode( $atts ) {
// Attributes
$atts = shortcode_atts(
array(
'text' => '',
),
);
return '<a class="customer-edit-account" href="'.wc_customer_edit_account().'">'.$text.'</a>';
}
add_shortcode( 'wc_customer_edit_account', 'wc_customer_edit_account_shortcode' );
使用:[wc_customer_edit_account text="Editing my account details" /]
答案 2 :(得分:0)
在我的网站(使用WooCommerce 3.6.5)上,这是对我有用的代码:
// Paste this in the function.php file of your active child theme or theme.
function wc_customer_edit_account_shortcode( $atts ) {
// Attributes
extract( shortcode_atts( array(
'text' => 'Edit Account' ), $atts ) );
return '<a class="customer-edit-account" href="'.wc_customer_edit_account_url().'">'.$text.'</a>';
}
add_shortcode( 'wc_customer_edit_account', 'wc_customer_edit_account_shortcode' );
我没有编辑function.php甚至没有添加子主题,而是使用Snippets插件将其粘贴到了新代码段中。