كيف يمكنني إضافة رابط إلى قائمة التنقل الأساسية باستخدام سمة class="right"
؟
حاولت إضافة رابط ثابت إلى example.com/wp-logout.php?action=logout
ولكن هذا يؤدي إلى صفحة تأكيد تسجيل الخروج. هل هناك أي طريقة لجعله رابط الخروج؟
يمكنك تحقيق ذلك باستخدام ربط wp_nav_menu_items
. دعونا نلقي نظرة على الجزء التالي من الكود الذي يعرض رابط تسجيل الدخول/الخروج في موقع القائمة primary
.
add_filter( 'wp_nav_menu_items', 'wti_loginout_menu_link', 10, 2 );
function wti_loginout_menu_link( $items, $args ) {
if ($args->theme_location == 'primary') {
if (is_user_logged_in()) {
$items .= '<li class="right"><a href="'. wp_logout_url() .'">'. __("Log Out") .'</a></li>';
} else {
$items .= '<li class="right"><a href="'. wp_login_url(get_permalink()) .'">'. __("Log In") .'</a></li>';
}
}
return $items;
}
هذا ما قمنا بتطبيقه في المثال أعلاه.
wp_nav_menu_items
وإرفاق دالة به.primary
، تحققنا من تسجيل دخول المستخدم أم لا.Log Out
وإلا فإن الرابط Log In
.class="right"
في الكود أعلاه لتلبية الاحتياجات الخاصة بك.يمكنك العثور على شرح مفصل عن هذا blog .
حاول إضافة رابط مخصص مع http://example.com/wp-login.php؟action=logout لقد نجح هذا الأمر بالنسبة لي!
قائمة التذييل الخاصة بي هي عنصر واجهة مستخدم ، لذلك واجهت صعوبات في استخدام الكود بواسطة Chittaranjan. النسخة المعدلة التالية تعمل بالنسبة لي. لقد قمت أيضًا بتغيير الروابط وجعلتها "ديناميكية": يؤدي تسجيل الدخول إلى صفحة من اختيارك ، وسيظل تسجيل الدخول في الصفحة الحالية ، أو يرسل إلى الصفحة الرئيسية ، إذا كانت الصفحة الحالية هي صفحة تسجيل الدخول الخاصة (الخاصة). من الأفضل أن تتحقق مما إذا كانت صفحة تسجيل الدخول خاصة في الواقع ، لكنني لا أعرف كيفية القيام بذلك ، آسف.
add_filter( 'wp_nav_menu_items', 'wti_loginout_menu_link', 10, 2 );
function wti_loginout_menu_link( $items, $args ) {
//var_dump($args);
if (($args->menu->slug == 'footer')) {
if (is_user_logged_in()) {
$loginlink = '/your-private-page';
$logoutlink = get_permalink();
if (strpos($logoutlink, $loginlink) !== false) {
$logoutlink = '/';
}
$items .= '<li class="right"><a href="'. wp_logout_url($logoutlink) .'">'. __("Log Out") .'</a></li>';
} else {
$items .= '<li class="right"><a href="'. wp_login_url($loginlink) .'">'. __("Log In") .'</a></li>';
}
}
return $items;
}