رفتن به مطلب

افزونه ساخت پیش نمایش (demo) برای قالب ها


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

با سلام،

مدتی هست که دنبال افزونه ای میگردم که با استفاده از اون بتونم برای قالب های نصب شده در سیستم. یک پیش نمایش ساده درست کنم. به این صورت که نام قالب حتما در مقابل لینک قرار بگیره. به عنوان مثال: www.demo.site.com/twenty-twelve

آیا دوستان همچین افزونه ای رو سراغ دارند؟!؟ (البته افزونه هایی مثل theme-switch رو تست کردم ولی خروجی خوبی نداشتند)

لینک به ارسال

سلام

میتونید از کد زیر استفاده کنید :


// Extra lines to change the theme's root.
add_filter('theme_root', 'change_theme_root');
add_filter('theme_root', 'change_theme_root_uri');
//
add_filter('template', 'change_theme');
add_filter('option_template', 'change_theme');
add_filter('option_stylesheet', 'change_theme');
function change_theme()
{
// Display Alternate theme
return 'AwesomeTheme';
}
function change_theme_root()
{
// Return the new theme root
return WP_CONTENT_DIR . 'themes/OrigTheme/lib/AltThemes';
}
function change_theme_root_uri()
{
// Return the new theme root uri
return get_bloginfo('wpurl') . '/wp-content/themes/OrigTheme/lib/AltThemes';
}

کد ها واضحه و فکر نمیکنم جای توضیحی لازم داشته باشه ، فقط اینکه باید بصورت افزونه اجرا بشه !

اما چطور باید از این کد برای ساخت دمو استفاده کرد : پیشنهاد من اینه که برای هر قالب یک page بسازی و کد های بالا را جوری ادیت کنی که url صفحه را بخونه مثلا از آدرس demo.site.com/twenty-twelve عبارت آخر twenty-twelve را جدا کنه در در توابع کد بالا جاسازی کنه

اگه به مشکل برخوردی در خدمتم

لینک به ارسال

فک میکنم این کد، در هر بار اجرا قالب پیشفرض رو در پایگاه داده بروز رسانی میکنه! درسته؟!؟

لینک به ارسال

خیر چنین نیست ، برای تغییر قالب دیفالت باید از تابع update_option استفاده کرد که این روش برای دمو اصلن جالب نیست و نتیجه مورد نظر را نداره

کدی که بهتون دادم در هر بار موقع اجرا یک فیلتر را موقع فراخوانی قالب اجرا میکنه که در موقع اجرا قالب از چه مسیری اجرا بشه

لینک به ارسال

افزونه اش را همین الان نوشتم :o

میتوانید از پیوست دانلود کنید ! طریقه استفاده ، آدرس صفحه اصلی را همراه با آرایه فرا عمومی demo با مقدار نام فولدر قالب ، مثلا اگر نام فولدر قالب theme2014 بود آدرس دمو میشه :


domain.com?demo=theme2014

mp-demo.zip

لینک به ارسال

سلام. ببینید با افزونه مشکلتون حل نمیشه ! به این خاطر که افزونه فقط قادر هست قالب رو عوض کنه اما محتویات سایدبارتون رو نمی تونه که عوض کنه. یا منو و غیره . . .

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

راه دیگه ای که به نظر من واقعا از همه بهتر هست اینه که بیاید توی لوکال قالب رو مدل بدید و صفحات رو به صورت استاتیک ذخیره کنید و صفحات html رو به کاربرا نمایش بدید. بدی این کار این هست که نرم افزار مناسبی براش نیست و معمولا فونت ها خراب میشه ! و دومین بدیش این هست که دمویی برای ارائه به کاربراتون ندارید. اما می تونید برای قالب هاتون بسته اسان نصب تهیه کنید و در واقع اون چیزی که روی لوکالتون هست رو براشون نصب کنید.

موفق باشید.

لینک به ارسال

افزونه اش را همین الان نوشتم :o

میتوانید از پیوست دانلود کنید ! طریقه استفاده ، آدرس صفحه اصلی را همراه با آرایه فرا عمومی demo با مقدار نام فولدر قالب ، مثلا اگر نام فولدر قالب theme2014 بود آدرس دمو میشه :


domain.com?demo=theme2014

سلام، ممنون از شما.

بله حق با شماست. نمونه این کد رو قبلا تست کرده بودم منتها مشکلی که این روش داره اینه که فقط شامل صفحه اصلی میشه و قابلیت سفارشی سازی منو و سایدبار ها رو نداره.

ولی شاید برای این هم یک راه حل وجود داشته باشه...

مثلا اگه دقت کرده باشید، وردپرس اطلاعات ویجت مربوط به هر پوسته رو در هر تغییر نگهداری میکنه (احتمالا در جدول wp_options). به زبان ساده تر: اگه شما برای یک قالب چند ابزارک رو مشخص کرده باشید و بعد به جای اون قالب یک قالب جدید با ابزارک هایی جدید رو فعال کنید، در صورت بازگشت به قالب اول همون ابزارک های اولیه رو مشاهده خواهید کرد.

به نظرم جای کار زیادی برای این موضوع وجود داره ;)

سلام. ببینید با افزونه مشکلتون حل نمیشه ! به این خاطر که افزونه فقط قادر هست قالب رو عوض کنه اما محتویات سایدبارتون رو نمی تونه که عوض کنه. یا منو و غیره . . .

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

راه دیگه ای که به نظر من واقعا از همه بهتر هست اینه که بیاید توی لوکال قالب رو مدل بدید و صفحات رو به صورت استاتیک ذخیره کنید و صفحات html رو به کاربرا نمایش بدید. بدی این کار این هست که نرم افزار مناسبی براش نیست و معمولا فونت ها خراب میشه ! و دومین بدیش این هست که دمویی برای ارائه به کاربراتون ندارید. اما می تونید برای قالب هاتون بسته اسان نصب تهیه کنید و در واقع اون چیزی که روی لوکالتون هست رو براشون نصب کنید.

موفق باشید.

سلام، ممنونم.

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

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

در خصوص نصب چندین وردپرس هم، احتمالا روش مناسبی نیست چون بسیار زمانگیر خواهد بود و تعداد جداول تکراری در mysql زیاد خواهد شد.

حالت html هم میتونه خیلی خوب باشه... ولی مشکل اصلیش اینه که در صورت ذخیره صفحه، باید تغییرات زیادی رو در سورس صفحه ایجاد کرد و بسیاری از لینک ها که در localhost شکل گرفتند (که مهمترینش تصاویر هستند)، باید تغییر پیدا کنند و این هم بسیار زمان گیر خواهد بود. (در خصوص بسته آسان نصب هم دقیقا متوجه منظورتون نشدم! پوسته هایی که من کار کردم از پنل تنظیمات ساده ای برخودارند و شکل اصلی قالب به سادگی قابل اجرا شدن هست)

انقدری این قضیه پیچیده شده که فک میکنم استفاده از همون روش اسکرین شات خیلی بهتره :) :) :)

لینک به ارسال

آره منم متوجه این قضیه شدم اما قضیه اش اونچنان پیچیده نیست! میشه منو را در هدر بصورت html قرار داد و برای ساید بار هم تمامی ویدجت ها را در فایل sidebar.php گذاشت. حالا برای اینکه وقتی کاربر یک صفحه را باز میکنه باز هم قالب دمو باز بشه میشه از سیشن استفاده کرد ، منافزونه را این طوری تنظیم کردم الان میتونی از پیسوت دانلود کنی (حالا بجز صفحه اصلی بقیه صفحه ها برای اون کاربر با قالب دمو باز خواهد شد و مشکل حله)

mp-demo.zip

لینک به ارسال

ممنون MrProgrammer، اما قطعه کد پیوستی مشکل داره و فک نمیکنم به این صورت هم جواب بده!!!

لینک به ارسال

این نسخه آخر کلا کار نمیکرد.

به هر صورت، به دلیل تفاوت هایی که در قالب ها وجود داشت، به نظرم بهترین روش استفاده از وردپرس شبکه بود و نهایتا هم از همین روش استفاده کردم.

بازهم ممنون از وقت و حوصله ای که گذاشتید :)

لینک به ارسال

عذر خواهی یکنم بخاطر مشکل ، افزونه را تست نکردم و بهت دادم :unsure:

بفرما ، این مشکلی نداره از پیوست دانلود کن

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

http://phpfunctions.ir/?demo=twentyfourteen

http://phpfunctions.ir/?demo=twentythirteen

http://phpfunctions.ir/?demo=twentytwelve

mp-demo.zip

لینک به ارسال
  • 1 سال بعد...
در در 1/1/2015 at 13:57، حسین شفیعیان گفته است :

آره منم متوجه این قضیه شدم اما قضیه اش اونچنان پیچیده نیست! میشه منو را در هدر بصورت html قرار داد و برای ساید بار هم تمامی ویدجت ها را در فایل sidebar.php گذاشت. حالا برای اینکه وقتی کاربر یک صفحه را باز میکنه باز هم قالب دمو باز بشه میشه از سیشن استفاده کرد ، منافزونه را این طوری تنظیم کردم الان میتونی از پیسوت دانلود کنی (حالا بجز صفحه اصلی بقیه صفحه ها برای اون کاربر با قالب دمو باز خواهد شد و مشکل حله)

mp-demo.zip

کارت درسته داش حسین

مرسی

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...