নেভিগেশন মেনুতে "লগআউট" লিঙ্ক যুক্ত করুন


16

আমি কীভাবে class="right"বৈশিষ্ট্যের সাথে প্রাথমিক নেভিগেশন মেনুতে একটি লিঙ্ক যুক্ত করতে পারি ?

আমি এতে একটি স্থিতিশীল লিঙ্ক যুক্ত করার চেষ্টা করেছি example.com/wp-logout.php?action=logoutতবে এটি একটি লগআউট কনফার্মেশন পৃষ্ঠায় নিয়ে যায়। এটি লগ আউট লিঙ্ক করার কোন উপায় আছে?


1
আপনি যদি বিদ্যমান প্রশ্ন ও অনেক বিষয়ে উত্তর দেখেছ এই এক ?
ফুসিয়া

আপনি কি দেখেছেন wp_loginout()?
কায়সার

2
আমি গ্রহণযোগ্য উত্তরটি সরিয়েছি, কারণ এটি এট্রিবিউশন ছাড়াই এই সাইট থেকে চুরি হয়েছিল ।
ফুসিয়া

আমি অনুরূপ কিছু ব্যবহার করে শেষ করেছি; অন্তত লগইনআউট () ফাংশনটি ব্যবহার করে। আমি পরের বার আমার কম্পিউটারের সামনে যা করেছি ঠিক তা পোস্ট করব। ধন্যবাদ @ টোসচো
জাচ রাসেল

এটি সহজেই অর্জন করার জন্য আপনি এই ফ্রি প্লাগইন ওয়ার্ডপ্রেস.আর / প্লাগইনস / লগিন- ব্লগআউট- রেজিস্টার- মেনু ব্যবহার করতে পারেন।
বিনোদদলভী

উত্তর:


39

আপনি 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;
}

উপরের উদাহরণে আমরা এটি বাস্তবায়ন করেছি।

  1. প্রথমে wp_nav_menu_itemsহুকের জন্য একটি ফিল্টার যুক্ত করে এতে একটি ফাংশন সংযুক্ত করে।
  2. primaryথিমের অবস্থানটি যাচাই করার পরে , আমরা ব্যবহারকারীরা লগ ইন হয়েছে কিনা তা পরীক্ষা করে দেখেছি।
  3. লগ ইন থাকলে, আমরা Log Outলিঙ্কটি অন্যথায় লিঙ্কটি দেখিয়েছি Log In
  4. আমরা বর্তমানে দেখার পৃষ্ঠাটির প্রবেশপথটি লগইন ইউআরএলে পাস করেছি যাতে সফল লগইন হওয়ার পরে ব্যবহারকারীর বর্তমান পৃষ্ঠায় পুনঃনির্দেশ করা হবে।
  5. class="right"আপনার প্রয়োজনীয়তা মেটাতে আমরা উপরের কোডটি ব্যবহার করেছি ।

আপনি এই ব্লগে একটি বিস্তারিত ব্যাখ্যা পেতে পারেন ।


@ Timo-এস কুড়ি সেভেনটিন (শিশু) থিম এই একটি মাত্র কাজ করবে topমেনু অবস্থান: if ($args->theme_location == 'top')
Iurie মালাই

আমার জন্য অবস্থানটির প্রয়োজন ছিলprimary-menu
তোসকান

2

Http://example.com/wp-login.php?action=logout এর সাথে একটি কাস্টম লিঙ্ক যুক্ত করার চেষ্টা করুন এটি আমার পক্ষে কাজ করেছে!


1
এটি ব্যবহারকারীকে "আপনি কি লগ আউট করার বিষয়ে নিশ্চিত?" প্রম্পট, নাকটি নিখোঁজ হওয়ার কারণে।
কালে_বি

0

আমার পাদলেখ মেনু একটি উইজেট , তাই চিত্তরঞ্জনের কোডটি ব্যবহার করতে আমার অসুবিধা হয়েছিল। নিম্নলিখিত সম্পাদিত সংস্করণটি আমার পক্ষে কাজ করে। আমি লিঙ্কগুলিও পরিবর্তন করে এগুলিকে "গতিশীল" করে দিয়েছি: লগইন আপনার পছন্দের পৃষ্ঠায় নিয়ে যায়, লগআউট হয় হয় বর্তমান পৃষ্ঠায় থাকবে, বা বাড়িতে প্রেরণ হবে, যদি বর্তমান পৃষ্ঠাটি আপনার (ব্যক্তিগত) লগইন পৃষ্ঠা হয়। আদর্শভাবে এটি আপনার লগইন পৃষ্ঠাটি ব্যক্তিগতকৃত কিনা তা পরীক্ষা করে দেখবে তবে দুঃখিত, আমি কীভাবে এটি করব তা জানিনা।

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;
}

-2
add_filter( 'wp_nav_menu_items', 'add_loginout_link', 15, 5 );

function add_loginout_link( $menus, $args ) {

  if (is_user_logged_in() && $args->theme_location == 'primary') {

   $menus .= '<li><a href="'. wp_logout_url( get_permalink( woocommerce_get_page_id( 'myaccount' ) ) ) .'">Log Out</a></li>';
    }

  elseif (!is_user_logged_in() && $args->theme_location == 'primary') {

   $menus .= '<li><a href="' . get_permalink( woocommerce_get_page_id( 'myaccount' ) ) . '">Log In</a></li>';
  }

  return $menus;
}

প্রতিটি লাইনের শুরুতে আপনাকে 4 টি স্পেস ব্যবহার করে আপনার কোডটি ফর্ম্যাট করতে হবে (সহায়তা দেখুন)।
পিটার এইচভিডি

আপনার ওয়েবসাইট বিজ্ঞাপন করবেন না দয়া করে। এই কোডটি ব্লকটি কীভাবে প্রশ্নের উত্তর দেয়, কোথায় এটি যুক্ত করতে পারে এবং বিশেষত এটি কী করে সে সম্পর্কে একটি ব্যাখ্যা দিয়ে আপনার উত্তরটি সম্পাদনা করুন।
হাওডি_এমসিজি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.