Update: Детектирование специфически Мой счет "Dashboard" страница
<?php
global $wp;
$request = explode('/', $wp->request);
// If NOT in My account dashboard page
if(! (end($request) == 'my-account' && is_account_page())){
?>
<a href="<?php echo get_permalink(get_option('woocommerce_myaccount_page_id')); ?>">Back to my Account Dashboard</a>
<?php
}
?>
<div class="myaccount_content">
<?php
do_action('woocommerce_account_content');
?>
</div>
протестирована и работает.
Оригинальный ответ:
Да, конечно, есть is_account_page()
родной WooCommerce условно, что возвращает истину на страницах учетной записи клиента.
Ниже приведен пример использования is_account_page()
и is_user_logged_in()
. Чтобы получить ссылку на мою учетную запись, вы можете использовать: get_permalink(get_option('woocommerce_myaccount_page_id'))
.
if (!is_account_page()) { // User is NOT on my account pages
if (is_user_logged_in()) { // Logged in user
// Link to "My Account pages dashboard".
?>
<a href="<?php echo get_permalink(get_option('woocommerce_myaccount_page_id')); ?>" title="<?php _e('My Account', 'woocommerce'); ?>"><?php _e('My Account', 'woocommerce'); ?></a>
<?php }
else { // User is NOT logged in
// Link to "Login/register page".
?>
<a href="<?php echo get_permalink(get_option('woocommerce_myaccount_page_id')); ?>" title="<?php _e('Login/Register','woocommerce'); ?>"><?php _e('Login/Register', 'woocommerce'); ?></a>
<?php
}
}
?>
Ссылка:
После этого вы можете Override WooCommerce Templates via a Theme используя мои шаблоны учетных записей для тонкой настройки даже больше WooCommerce модели поведения ...
'is_account_page()' не может использоваться для обнаружения «панели управления» страниц «моей учетной записи» - эта функция возвращает true для всех страниц «моей учетной записи». –
@ Dan. Да, я знаю ... * «Как я могу определить, не ответил ли ваш вопрос« myaccount/my-account.php »« * – LoicTheAztec
»ваш первоначальный ответ (ни тот, ни другой в вопросе или в вопросе). Теперь вы только что опубликовали что-то, что решает его вопрос, но это, очевидно, не отменяет мой предыдущий комментарий и downvote.Тот, кто отклонил мой ответ (не указывая пальцами), очевидно, просто получил кость. Мое решение определенно решает вопрос lol –