ত্রুটি: মাইক্লাসের ঘোষণা :: স্টার্ট_এলভিএল () ওয়াকার_নেভ_মেনু :: স্টার্ট_এলভিএল () এর সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত


11

আমি বর্তমানে একটি ওয়ার্ডপ্রেস সাইটে কাজ করছি এবং যখনই অ্যাডমিনে আমি উপস্থিতি> মেনু পৃষ্ঠাতে যাচ্ছি আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

ত্রুটি ধারণা: রানটাইম নোটিশ: ওয়াকার_নাভ_মেনু_এডিট :: স্টার্ট_এলভিএল () ডাব্লুপি-অ্যাডমিন / অন্তর্ভুক্ত / এনএভি-মেনু.এফপি লাইন 203-তে ওয়াকার_নাভ_মেনু :: স্টার্ট_এলভিএল () এর সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত

দেখে মনে হচ্ছে এটি কোনওরকম পিএইচপি সামঞ্জস্যতার সমস্যা। আমি আমার স্থানীয় ডেভ মেশিনে পিএইচপি 5.3.10 চালাচ্ছি।

এই সমস্যাটির প্রতিকারের সর্বোত্তম উপায় কী হবে?

উত্তর:


24

থেকে class Walker_Nav_Menu:

function start_lvl( &$output, $depth = 0, $args = array() )

আপনার শিশু শ্রেণীর অবশ্যই একই স্বাক্ষরটি ব্যবহার করা উচিত : তিনটি যুক্তি, প্রথমটি রেফারেন্স দ্বারা পাস হয়েছিল। প্রতিটি পার্থক্য আপনার প্রাপ্ত ত্রুটি বাড়িয়ে তুলবে।

নোট করুন যে $argsখালি অ্যারেতে ডিফল্ট, তবে আপনি stdClassএকটি অ্যারে নয়, একটি উদাহরণ পান । এটি ওয়ার্ডপ্রেস।


আমি জানি. এটি একটি ওয়ার্ডপ্রেস ক্লাস, এটি আমার পরিবর্তন করার পক্ষে নয়। আমার প্রশ্ন হ'ল সমস্যাটি ঘটিয়ে কাজ করার সর্বোত্তম উপায়টি (সম্ভবত ডাব্লুপি'র ইন্টার্নালদের সাথে হস্তক্ষেপ না করে) ...
লুক

3
আপনাকে ওয়ার্ডপ্রেস কোর দিয়ে হস্তক্ষেপ করতে বলা হচ্ছে না। মূল ক্লাসে ওয়ার্ডপ্রেস যেভাবে করে তার সাথে মেলে আপনার বর্ধিত শ্রেণিতে আপনার পদ্ধতিটি যেভাবে সংজ্ঞায়িত করতে হবে তা আপনাকে পরিবর্তন করতে হবে।
s_ha_dum

1
বুঝেছি. ত্রুটিটি আমাকে ফেলে দিচ্ছিল। এটি আমাকে সমস্যাটি ডাব্লুপি কোরে প্রদান করে তবে সমস্যাটি যেখানে ঘটেছে তা নয়, এটি স্বাক্ষরের সংজ্ঞাটিকে বোঝায়।
লুক

9

ক্লাস থেকে Walker_Nav_Menuএই লাইন প্রতিস্থাপন

function start_el(&$output, $category, $depth, $args) {

প্রতি

function start_el(&$output, $category, $depth = 0, $args = array(), $current_object_id = 0) {

function end_lvl(&$output, $depth, $args) {

প্রতি

function end_lvl(&$output, $depth = 0, $args = array()) {

function start_lvl(&$output, $depth, $args) {

প্রতি

function start_lvl(&$output, $depth = 0, $args = array()) {

function end_el(&$output, $category, $depth, $args) {

প্রতি

function end_el(&$output, $category, $depth = 0, $args = array()) {

আপনি কীভাবে কেবল কোডটি যুক্ত করার পরিবর্তে এটি কীভাবে কাজ করে তা গ্রহণযোগ্য উত্তর থেকে কীভাবে আলাদা তা ব্যাখ্যা করতে পারেন
ব্র্যাভোকেইল

হ্যাঁ; উত্তরটি 2015 সালে আপডেট হয়েছে, এবং এটি ওয়ার্ডপ্রেস লিঙ্কের
মোহাম্মদ আবেদী

হ্যাঁ, সুতরাং উত্তরের ব্যাখ্যাটি দুর্দান্ত হবে।
ব্র্যাভোকেল

এটি আমার গাধা সংরক্ষণ করেছে, ফাংশন স্টার্ট_েল, ফাংশন এন্ড_েল, ফাংশন স্টার্ট_এলভিএল, ফাংশন এন্ড_এলভিএল
স্টিফেন

কোথায় বা কীভাবে আমরা ক্লাসে যাব ওয়াকার_নাভ_মেনু ??? কীভাবে বা কোথায় এটি নির্বাচিত হয়েছে জানি না !!!!!
রিমনামিয়াম

0

আমার ক্ষেত্রেও এটি একই ছিল। আপনি পুরানো নেভ মেনু ওয়াকার কোডগুলি পান এবং এটি বলে যে আপনি wp_debug চালু করার সময় আপনার কী করা উচিত (সত্য)

মেনু_ফ্রন্টএন্ড :: স্টার্ট_এলভিএল (& $ আউটপুট, $ গভীরতা) সি এর মধ্যে ওয়াকার_নাভ_মেনু :: স্টার্ট_এলভিএল (& $ আউটপুট, $ গভীরতা = 0, gs আর্গস = এনইউএল) সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত: am xampp \ htdocs \ শপনেট \ wp-content \ থিম 314 লাইনে \ ভিটিও \ hades_framework \ সহায়ক \ megamenu.php

আপনি দেখতে পাচ্ছেন যে পিএইচপি আপনাকে বোঝায় এমন কোনও কোড লাইন পরিবর্তন করতে হবে। উপরের ত্রুটি বিজ্ঞপ্তিতে আপনার start_lvl (& $ আউটপুট, $ গভীরতা) স্টার্ট_এলভিএল (& $ আউটপুট, $ গভীরতা = 0, $ আরগস = এনইউএল) এর সাথে প্রতিস্থাপন করা উচিত যাতে অন্যান্য প্রক্রিয়া একই হয়। তবে ফাংশন খোলার ট্যাগটি লিখতে ভুলবেন না this শেষে এই এনএলএল এর মতো) {

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.