رفتن به مطلب

فرحان

عضو افتخاری
  • تعداد ارسال‌ها

    806
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    16

نوشته‌ها ارسال شده توسط فرحان

  1. سلام. توی وردپرس همه فایل های php باید از طریق ریشه اسکریپت اینکلود بشن تا بتونید به توابع وردپرس دسترسی داشته باشید.

    مثلا برای اینکه یه فایل php از توی پوسته لود بشه توی فانکشن پوسته اول میاید بسته به نیازتون یا شورت کد تعریف می کنید یا می گید اگر این متغییر توی ادرس اومد این فایل رو لود کن.

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

    حالا نوبت به بررسی ورودی های فرم هست. از اونجا که وردپرس بعد از هوک init  همه مقادیر پست و گت رو خالی میکنه، باید بیاید توی هوک init مقادیر ورودی رو بررسی کنید و بسته به نیازتون پایگاه داده رو به روز کنید.

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

    <?php
    add_action('init','myfunction');
    function myfunction(){
      $name = $_POST['name'];
      //....
    }

    میتونید کد بالا رو توی خود فایل ها هم بنویسید اما چون هنوز دسترسی به بعضی قسمت ها اماده نیست مثلا دیتابیس یا همون wpdb به دردتون نمیخوره و امنیت رو هم میاره پایین.

    موفق باشید.

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

    احتمالا سایتتون روی کامپیوتر خونه یا روی سرور اینترانتی هست و وردپرس توی این حالت نمیتونه اپدیت افزونه ها و اخبار وردپرس فارسی وغیره رو از سایتش هاشون بگیره چون دسترسی به اینترنت نداره!

  3. سلام. درست راهنماییتون کردن.

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

    توی پوستتون فایل functions.php رو پیدا می کنید و از مخزن وردپرس یا سایت های دیگه نحوه لود کردن فایل های جاوا اسکریپت توی پوسته وردپرس رو هم تحقیق و پیاده می کنید.

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

    راهنماییتون هم کردن، باید با استفاده از هوک ها موقعی که وردپرس به قسمت بارگزاری فایل های js و css میرسه بگید فایل من رو هم لود کن. اموزشش هم توی اینترنت سرچ کنید زیاده.

    موفق باشید.

    • امتیاز 1
  4. در 4 ساعت قبل، runy گفته است :

    خوب نه دیگه توی قسمت EDD سوالم را گذاشتم.

    با افزونه EDD دارم کار می کنم.

    اها عذر می خوام متوجه نبودم.

    ظاهرا edd هم امکان محدود کردن خرید به لاگین بودن رو داره. اما این افزونه رو هم پیدا کردم که کاربر رو خودکار توی وردپرس ثبت نام میکنه :

    https://github.com/easydigitaldownloads/edd-auto-register

    این هم راهنماش:

    https://github.com/easydigitaldownloads/edd-auto-register/blob/master/readme.txt

    • امتیاز 1
  5. سلام. هرچند این مطلب هیچ ارتباطی به موضوع این فروم نداره، اما چون چند وقتی دنبال این موضوع بودم دیدم بد نیست نظرم رو بگم.

    اگر pc همیشه روشنه کارت شبکه وایرلس آنتن دار بگیرید بهتره. (برای کارهای خاص بهتره :) )

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

     

    آپشن ها و ویژگی های زیر هم بد نیست داشته باشه:

    1 - امکان اشتراک گذاشتن اطلاعات هارد اکسترنال. فکر کنم یک ورودی usb3 باید داشته باشه مودم.

    2 - دو آنتنه بودن و چک کردن اینکه از 5 دسیبل کمتر نباشن

    3 - استانداردهای وایرلسی که ساپورت میکنه. بهتره b g n رو داشته باشه.

    4 - امکان فیلتر کردن سرعت دسترسی کاربران بر حسب ای پی یا مک آدرس. که البته بعضی از tp link ها فقط این قابلیت رو دارن (توی ارزون قیمت هایی که من دیدم).

    5 - داغ نکردن مودم موقع روشن ماندن طولانی مدت

    و غیره ...

     

  6. در در 9/14/2016 at 15:33، omidghs گفته است :

    سلام - طبق این آموزش متاباکس ساختم  / چجوری میشه تو متاباکس چک باکسی گذاشت که مثلا تیکش زده شد داخل اسلایدر سایت نشون داده بشه

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

    برای بررسی مقدار فیلدها توی سایت هم اول با تابع get_field یا get_post_meta میتونید اسمی که به اون فیلد دادید رو استفاده کنید و به محتواش دسترسی پیدا کنید.

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

     

    به عنوان مثال توی لینک زیر میتونید ببینید که چطوری میشه به محتوای فیلد ها دسترسی داشت :

    https://www.advancedcustomfields.com/resources/checkbox/#template-usage

     

    موفق باشید.

     

     

  7. سلام. اگر از استایل کدنویسی به صورت زبان c خوشتون میاد php رو انتخاب کنید. البته به اون صورت قاعده مند نیست و خیلی خوش دست تره.

    برای انتخاب php دلایل زیر هم هست:

    1- برنامه نویس های زیادی php کار می کنن پس هم حین یادگیری و هم توی کدنویسی حرفه ای میتونید کمک دریافت کنید.

    2- اگر تحت لینوکس بخواید کار کنید به راحتی با نصب lamp همه چیز آماده کار میشه. توی ویندوز زامپ هر دو رو داره.

    3- فریم ورک های خیلی معروفی داره که روند تکمیل پروژه رو خیلی سریع میکنه و امنیت خیلی بالایی هم دارن، البته پایتون هم فریم ورک داره ولی اگر در مورد قابلیت ها یا توابعش سوالی داشته باشید تقریبا تنهایید!

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

    من زیاد با python کار نکردم ولی برای یه مساله ای سراغ کدهاش رفتم به سختی میتونستم متوجه بشم که کدش داره چه کار میکنه. اما میگن اگر جاوا کار میکردیه قبلا python براتون یاد گرفتنش آسون تره و همچنین خیلی از نرم افزارهای تحت لینوکس رو با پایتون نوشتنه. همچنین اینکه برنامه نویس های زیادی پایتون کار نمیکنن هم یه ضعفه هم یه مزیت. ضعفش اینه که یادگیریش و غیره سخت تره و مزیتش اینه که توی بازار کار پایتون کار کمتره که البته پروژه های پایتونی هم کمترن.

     

    موفق باشید.

     

     

     

     

     

     

     

  8. سلام. از شدن میشه، اما همچین چیزی اسکریپت جدا باشه به نظرم بهتره. چون برای این پروژه از وردپرس به عنوان یه فریم ورک استفاده میشه نه یه سیستم مدیریت محتوا. یعنی خیلی امکاناتش برای پروژه شما قابل استفاده نیستن و توی اسکریپت سایتتون موجودن. علاوه بر این نوشتن اسکریپت جداگانه برای پروژه شما سرعت لود بهتر و مصرف منابع کمتری خواهد داشت. که یکی از دلایلش همون عدم وجود کدهای اضافه هست.

    • امتیاز 1
  9. قسمت سوم کد یعنی :

    add_filter('widget_display_callback', 'wpsrc_widgets_display_hook', null, 3);
    /**
     * Hooks to the plugins title and outputs the selected icon
     */
    function wpsrc_widgets_display_hook($instance, $widget_class, $args){
        if (!isset($instance['wpsrcIcon'])) {
            return $instance;
        }
     
        $instance['title'] =  '<span class="dashicons' . $instance['wpsrcIcon'] . '"></span>' . $instance['title'];
        remove_filter( 'widget_title', 'esc_html' );
        return $instance;
    }

     

    رو به صورت :

     

    add_filter('widget_display_callback', 'wpsrc_widgets_display_hook', null, 3);
    /**
     * Hooks to the plugins title and outputs the selected icon
     */
    function wpsrc_widgets_display_hook($instance, $widget_class, $args){
        if (!isset($instance['wpsrcIcon'])) {
            return $instance;
        }
     
    	$span = '<span class="dashicons' . $instance['wpsrcIcon'] . '"></span>';
        $instance['title'] = ( ( !empty( $instance['wpsrcIcon'] ) )? $span : '' ) . $instance['title'];
        remove_filter( 'widget_title', 'esc_html' );
        return $instance;
    }

    دربیارید.

    • امتیاز 2
  10. سلام. برای اضافه کردن فیلد به این صورت قرار بدید :

    add_action('in_widget_form', 'Plugins_form_hook');
    /**
     * Hooks to the plugins form and adds a custome field to them 
     */
    function plugins_form_hook($widget_instance){
        $widget_options_all = get_option($widget_instance->option_name);
        $settings = '';
        if(isset($widget_instance->number) && isset($widget_options_all[$widget_instance->number]['wpsrcIcon']) ){
            $settings = $widget_options_all[$widget_instance->number]['wpsrcIcon'];
        }
    ?>
    <label for="<?php echo $widget_instance->get_field_id('wpsrcIcon'); ?>">نام کامل آیکون و افکت: </label>
    <input style="direction:ltr;" type="text" id="<?php echo $widget_instance->get_field_id('wpsrcIcon'); ?>" name="<?php echo $widget_instance->get_field_name('wpsrcIcon'); ?>" value="<?php echo $settings; ?>">
    <?php
    }

     

    برای ذخیره ی مقدارش به این صورت :

    add_filter( 'widget_update_callback', 'wpsrc_widgets_update_callback', null, 4 );
    /**
     * Saves the value of choosen icon
     */
    function wpsrc_widgets_update_callback($instance, $new_instance, $old_instance, $instanceObj){
        $instance['wpsrcIcon'] = ( ! empty( $new_instance['wpsrcIcon'] ) ) ? $new_instance['wpsrcIcon']  : '';
        return $instance;
    }

     

    و برای تعیین نحوه استفادش توی خروجی ویجت هم به این صورت :

     

    add_filter('widget_display_callback', 'wpsrc_widgets_display_hook', null, 3);
    /**
     * Hooks to the plugins title and outputs the selected icon
     */
    function wpsrc_widgets_display_hook($instance, $widget_class, $args){
        if (!isset($instance['wpsrcIcon'])) {
            return $instance;
        }
     
        $instance['title'] =  '<span class="dashicons' . $instance['wpsrcIcon'] . '"></span>' . $instance['title'];
        remove_filter( 'widget_title', 'esc_html' );
        return $instance;
    }

     

    اگر هم قصدتون قرار دادن چیزی مثل آیکون برای ابزارک ها هست که آموزشش توی سایتم هست (این تکه کدها رو از همون آموزش براتون قرار دادم)

    • امتیاز 1
  11. در 10 ساعت قبل، sir1 گفته است :

    ممنون

    الان دسته زیر که که برای ووکامرس هست در کد بالا قرار دهید تا منظورتونو بگیرم

    http://www.acgih.ir/product-category/%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%87%d8%a7%db%8c-%d8%a8%d9%87%d8%af%d8%a7%d8%b4%d8%aa-%d8%ad%d8%b1%d9%81%d9%87-%d8%a7%db%8c/

    اول یه نکته بگم، همیشه وقتی یک دسته درست می کنید slug اون رو فارسی ننویسید.

    توی مورد شما هم اگر slug دستتون فارسی هست به جاش id دسته رو بگذارید، احتمالا کار بده.

    • امتیاز 2
  12. سلام. فکر کنم از پارس پک بگیرید بهترتون باشه.

    http://parspack.com/cloud-hosting

    هم خیلی ها دیدم ازش راضی هستن و هم همه چیز هاستتون رو میتونید خودتون طراحی کنید.

    مثلا برای سایت شما رم 4 گیگ فضای 5 تا 10 گیگ (با توجه به این که هاست دانلود دارید) پردازنده 4 هسته و پهنای باند 100 گیگ کافیه. بازدید در لحظه رو هم روی 30 بگذارید. تازه از این ها هم میتونید کمتر بگذارید و در موقع نیاز ارتقاش بدید. مثلا پهنای باند رو ابتدای کار میتونید روی 50 گیگ بگذارید و اگر بیشتر نیاز بود ارتقاش بدید.

    • امتیاز 1
  13. خوب سورس صفحه رو نگاه کنید ببینید کد جاوا اسکریپتتون توی تگ هد موجوده یا نه. اگر نبودش ممکنه قالب سایتتون چندین طراحی داشته باشه و تگ هد رو از جای دیگه داره لود میکنه. در این صورت می تونید به wp_head هوک بزنید و کدتون رو لود کنید. در مورد این روش میتونید جستجو کنید.

  14. سلام.اگر منظورتون از جاوا همون جاوااسکریپته میتونید برید به wp-content>themes>theme name  فایل header.php رو باز کنید و توی فایل قبل از بسته شدن تگ head یه تگ اسکریپت باز کنید و کدتونو بزارید توش و ذخیره کنید.

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

  15. سلام. اگر به کد نویسی وارد هستید فایل های css و جاوااسکریپتی که توی صفحات وب سایتتون استفاده شده رو تا جای ممکن با هم ادغام و بعد minify یا فشرده کنید.

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

    افزونه های بی مورد رو غیر فعال کنید.

    همه جای قالب از یک فونت استفاده کنید.

    و غیره..

     

    علاوه بر موارد بالا و همچنین در صورتی که به کد نویسی وارد نیستید gzip رو توی سایتتون در صورتی که هاست اجازه میده فعال کنید. gzip صفحه رو فشرده شده به کاربر ارسال می کنه.

    کش رو هم توی سایتتون فعال کنید.

    • امتیاز 1
  16. سلام. این خطاها احتمالا به این خاطر هستن که پروسه های شما رو توی سرور محدود کردن. به خاطر همون مصرف بالاتون.

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

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

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

    علاوه بر اینها سعی کنید چیزهای اضافه که بار سنگینی روی سرور ایجاد می کنند مثل سیستم جستجوی پیشفرض وردپرس رو غیر فعال کنید و در عوض از موتورهای جستجو استفاده کنید. و یا مثلا برچسب ها و آخرین نظرات در فوتر سایت و غیره..

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

    و خیلی راهکارهای دیگه که توی وب موجود هست.

    در نهایت اگر باز هم این بهینه سازی ها کافی نبود راهی جز ارتقای هاستتون ندارید.

    موفق باشید.

    • امتیاز 1
×
×
  • اضافه کردن...