رفتن به مطلب

مشکل در نصب قالب Cryptic در وردپرس


پست های پیشنهاد شده

با سلام

قالب Cryptic رو از لینک ها تنها برای اعضای سایت قابل نمایش است. کردم.

پوسته رو بارگزاری کردم. تمام پلاگین ها رو نصب کردم.

هنگام نصب پلاگین ModelTheme Framework ارور زیر رو میده.

Fatal error: Cannot redeclare cryptic_RemoveDemoModeLink() (previously declared in C:\xampp\htdocs\cryptotest\wp-content\plugins\modeltheme-framework\modeltheme-framework.php:208) in C:\xampp\htdocs\cryptotest\wp-content\themes\cryptic\functions.php on line 593

 

برای رفع این ارور چیکار میتونم بکنم 

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • مدیر انجمن

درود.

طبق این خطا، یک تابع دو بار تعریف شده و در زمانی که می خواهید افزونه رو نصب کنید، این دو تابع همزمان می خواهند فعالیتی که براش نوشته شدن رو انجام بدن. 

شما فایل زیر رو باز کنید، در خط 208 :

wp-content\plugins\modeltheme-framework\modeltheme-framework.php

و این فایل در خط 593 :

wp-content\themes\cryptic\functions.php

تابع cryptic_RemoveDemoModeLink رو در هر دو فایل مقایسه کنید. اگه کدهاش کاملا مشابه بودن، یکی از این دو قطعه کد رو از فایل حذف کنید. اگر دستور If به کار رفته بود، نیاز به بررسی مجدد داره. بررسی کنید و انجام بدید اگه رفع نشد اطلاع بدید.

  • Like 2
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

با سلام و تشکر فراوان

در function 

 

// |---> REDUX FRAMEWORK
if (!function_exists('cryptic_RemoveDemoModeLink')) {
    function cryptic_RemoveDemoModeLink() { // Be sure to rename this function to something more unique
        if ( class_exists('ReduxFrameworkPlugin') ) {
            remove_filter( 'plugin_row_meta', array( ReduxFrameworkPlugin::get_instance(), 'plugin_metalinks'), null, 2 );
        }
        if ( class_exists('ReduxFrameworkPlugin') ) {
            remove_action('admin_notices', array( ReduxFrameworkPlugin::get_instance(), 'admin_notices' ) );    
        }
    }
    add_action('init', 'cryptic_RemoveDemoModeLink');
}

در modeltheme-framework:

// |---> REDUX FRAMEWORK
function cryptic_RemoveDemoModeLink() { // Be sure to rename this function to something more unique
    if ( class_exists('ReduxFrameworkPlugin') ) {
        remove_filter( 'plugin_row_meta', array( ReduxFrameworkPlugin::get_instance(), 'plugin_metalinks'), null, 2 );
    }
    if ( class_exists('ReduxFrameworkPlugin') ) {
        remove_action('admin_notices', array( ReduxFrameworkPlugin::get_instance(), 'admin_notices' ) );    
    }
}
add_action('init', 'cryptic_RemoveDemoModeLink');

به این صورت هستش. بالایی با if شروع شده فقط. الان پاک بکنم؟ کدوم یکی رو پاک بکنم

 

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • مدیر انجمن

نیازی به پاک کردن نیست.

اون کد اولی که فرستادید در فایل functions.php رو با این جایگزین کنید:

// |---> REDUX FRAMEWORK
if (!function_exists('cryptic_RemoveDemoModeLink')) {
    function cryptic_RemoveDemoModeLinkkk() { // Be sure to rename this function to something more unique
        if ( class_exists('ReduxFrameworkPlugin') ) {
            remove_filter( 'plugin_row_meta', array( ReduxFrameworkPlugin::get_instance(), 'plugin_metalinks'), null, 2 );
        }
        if ( class_exists('ReduxFrameworkPlugin') ) {
            remove_action('admin_notices', array( ReduxFrameworkPlugin::get_instance(), 'admin_notices' ) );    
        }
    }
    add_action('init', 'cryptic_RemoveDemoModeLinkkk');
}

 

  • Like 1
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

واقعا ممنون از لطفتون

اون ارور حل شد

Warning: count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\cryptotest\wp-content\plugins\modeltheme-framework\init.php on line 746
الان این هشدار رو میده. مساله مهمیه؟

لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • مدیر انجمن
در 18 ساعت قبل، ali_alavijeh گفته است :

واقعا ممنون از لطفتون

اون ارور حل شد

Warning: count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\cryptotest\wp-content\plugins\modeltheme-framework\init.php on line 746
الان این هشدار رو میده. مساله مهمیه؟

این خطا به دلیل این داده میشه که از نسخه ی 7.2 PHP استفاده میکنید. از نسخه ی 7.2 به بعد، نحوه دستوری نوشتن count() تغییر کرده :

  • لینک ها تنها برای اعضای سایت قابل نمایش است.

راه حل اینه که یا از نسخه ی 5.6 یا 7.1 استفاده کنید، یا افزونه هاتون رو به آخرین نسخه آپدیت کنید که با 7.2 سازگار باشه، یا خودتون برای رفع مشکل و همگام سازی با 7.2 اقدام کنید. آدرس فایلی که از تابع count استفاده شده در متن خطا هم هست.

پس می تونید خودتون هم اگر دانش به کدنویسی دارید این کار رو انجام بدید.

شما باید تابع رو در خط 746 پیدا کنید، و بررسی که اگر به این صورت هست :

if (count($this->handles) >= $this->maxHandles) {

به این صورت تغییرش بدید:

if (is_array($this-handles) && count($this->handles) >= $this->maxHandles) {

و اگر هم این تغییر رو داخل کدهاتون اعمال کردید، حتما باید از نسخه ی 7.2 PHP استفاده کنید. اگر این تغییر رو بدید و PHP رو هم تغییر بدید، بازهم خطا خواهید داشت.

موفق باشید

  • Like 1
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

خیلی ممنونم. 

رای کاهش ورژن php باید xamp رو پاک کنم و نسخه پایینتر نصب کنم؟

خط مربوطه اینطوریه. یجور نمیشه دستی درستش بکنم؟

	// if it's an array of one, extract it
		elseif ( is_array( $meta_box['pages'] ) && count( $meta_box['pages'] === 1 ) )
			$type = is_string( end( $meta_box['pages'] ) ) ? end( $meta_box['pages'] ) : false;
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

  • مدیر انجمن

بله نسخه ی 5.6 یا 7.1 رو باید نصب کنید:

  • لینک ها تنها برای اعضای سایت قابل نمایش است.

این خط رو درست کنید، باز هم در جاهای دیگه ای به مشکل برخواهید خورد. چون اینطوری که معلومه قالب برای نسخه ی 7.2 آماده نشده و ممکنه توابعی داخلش بکار رفته باشه که در آینده شما رو دچار مشکلاتی بکنه. حالا این مشکلات ممکنه عدم فعالیت قسمت هایی از قالب باشه، یا خطاهایی دریافت کنید.

بهتره نسخه ی PHP رو همونی انتخاب کنید که قالب باهاش سازگاره و تمامی امکاناتش به خوبی کار میکنه.

هیچ تضمینی نیست الان این خط رو درست کنید و قالبتون کاملا با 7.2 سازگار بشه. که البته در اکثر مواقع قالب نیاز به سازگاری و تغییرات بیشتری داره. بهترین راه حل همون تغییر نسخه PHP هست.

  • Like 1
لینک به دیدگاه
به اشتراک گذاری در سایت های دیگر

مهمان
این موضوع برای عدم ارسال قفل گردیده است.
×
×
  • اضافه کردن...