হাই @ টম ,
আমি যদি আপনার প্রশ্নটি সঠিকভাবে বুঝতে পারি তবে আপনাকে মেনুতে কীভাবে কোনও লিঙ্ক যুক্ত করবেন তা জানার এত প্রয়োজন নেই (মনে হয় আপনি এটি ইতিমধ্যে জানেন) তবে পরিবর্তে আপনার লিঙ্কটি কীভাবে সঠিকভাবে পুনঃনির্দেশিত করা যায় তা শিখতে হবে, তাই না?
এডমিন মেনু আইটেম থেকে বাহ্যিক URL এ পুনঃনির্দেশ
যদি তাই হয় তবে আপনাকে যা করতে হবে তা হ'ল মেনু আইটেমের ফাংশনটি ব্যবহার না করে বরং তার পরিবর্তে "হুক" ওয়ার্ডপ্রেসটি এত তাড়াতাড়ি করুন যে এটি সম্ভবত এইচটিটিপি শিরোনাম ব্যতীত অন্য কোনও আউটপুট দেয় না। কল /wp-admin/themes.phpকরার সময় প্রথম দিকের হুক উপস্থিত হয় after_setup_themeএবং এটি ভালভাবে কাজ করে বলে মনে হয়।
একটি "মেনু স্লাগ" ব্যবহার করুন যাতে আপনি এটির জন্য একটি হুক পরীক্ষা করতে পারেন
কিন্তু এটা আমরা আপনার কল সংশোধন করার প্রথম প্রয়োজন কাজ পেতে add_theme_pageমধ্যে admin_menuহুক / আপনার create_theme_style_page()ফাংশন। আমরা পঞ্চম প্যারামিটারটি (অ্যাডমিন বিকল্পটি প্রয়োগ করার জন্য কল করার জন্য ফাংশন) ফেলেছি কারণ আমাদের এটির প্রয়োজন নেই, এবং চতুর্থ প্যারামিটারটি ( "মেনু স্লাগ" ) হিসাবে পরিবর্তন করা হয়েছে themes.php?goto=build-styleguide-page।
যদিও আমরা চতুর্থ প্যারামিটারের জন্য প্রায় আক্ষরিক কিছু বেছে নিতে পারতাম, তবে আমরা themes.phpধারাবাহিকতার জন্য অন্যান্য উপস্থিতি বিকল্প হিসাবে একই পৃষ্ঠাতে ( ) পুনরায় নির্দেশ করতে যাচ্ছি given আমি কেবল ইচ্ছামতই নামটি নিয়ে এসেছি gotoকারণ ওয়ার্ডপ্রেস এটি ব্যবহার করে না এবং এটি এর জন্য বোধ হয়।
add_action('admin_menu', 'create_theme_style_page');
function create_theme_style_page() {
add_theme_page(
'Theme Styleguide',
'Theme Styleguide',
'administrator',
'themes.php?goto=build-styleguide-page'
);
}
বিটিডাব্লু, আমরা আপনার build_styleguide_page()ফাংশন থেকে মুক্তি পেয়েছি কারণ এই সমাধানের জন্য আমাদের এটির দরকার নেই।
এর জন্য প্রথম দিকের হুকটিতে পুনঃনির্দেশ করুন themes.php:after_setup_theme
কোডের শেষ বিট হিসাবে আমরা after_setup_themeআমাদের redirect_from_admin_menu()ফাংশনে আমাদের হুক প্রয়োগ করি । বর্তমান পৃষ্ঠাটি কিনা তা দেখার জন্য themes.phpএবং ইউআরএলটিতে একটি ইউআরএল প্যারামিটার gotoপাস হয়েছে তা নিশ্চিত করার জন্য আমাদের এটি পরীক্ষা আছে test তারপরে এটি / স্টেটমেন্ট gotoব্যবহারের মান পরীক্ষা করে এটির মান আছে কিনা তা পরীক্ষা করে ; যদি তাই হয় তবে এটি আপনার বর্ণিত অনুমানক যেমন গুগলে পুনঃনির্দেশ করে অন্যথায় আমরা কেবল অ্যাডমিন ড্যাশবোর্ডে পুনঃনির্দেশ:switchcase'build-styleguide-page'
add_action('after_setup_theme', 'redirect_from_admin_menu');
function redirect_from_admin_menu($value) {
global $pagenow;
if ($pagenow=='themes.php' && !empty($_GET['goto'])) {
switch ($_GET['goto']) {
case 'build-styleguide-page':
wp_redirect("http://www.google.com");
break;
default:
wp_safe_redirect('/wp-admin/');
break;
}
exit;
}
}
মন্তব্য:
আমি হুক / ফাংশনে switch/ caseবিবৃতিটি ব্যবহার করতে পছন্দ করেছি যাতে আপনার প্রয়োজন হলে অতিরিক্ত পুনর্নির্দেশগুলি যুক্ত করা আরও সহজ হবে ; শুধু আরও কেস স্টেটমেন্ট যুক্ত করুন।after_setup_themeredirect_from_admin_menu()goto
The wp_redirect()এবং wp_safe_redirect()ফাংশন আসলে বিনষ্ট করবেন না; আপনার পুনর্নির্দেশকে থামিয়ে দেওয়া এবং ওভাররাইড না করে ওয়ার্ডপ্রেস পেতে আপনার স্পষ্টতই একটি প্রস্থান বিবরণী ইস্যু করা দরকার।
আশাকরি এটা সাহায্য করবে!
'-5'এবং না-5, অন্যথায় কীটি অবৈধ হিসাবে বিবেচিত হবে (আমার মনে হয়) .. (নেতিবাচক স্ট্রিংগুলি কাজ করে, যদি আমি ভুল না করি) ..