رفتن به مطلب

rezaonline

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

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

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

  • روز های برد

    1

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

  1. اگر تاملی بر "آخرین ارسالهای انجمن داشته باشید" معمولاً در بازه های 5 دقیقه ای مطالب و تاپیک های جدید که اکثراً تکراری و حل شده هستند ، عنوان میشود .

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

    یه سایتی هست شاید شما اسمش رو شنیده باشید بهش میگن گوگل !

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

    منتها! ایرانی جماعت این چیزا تو گوشش نمیره !

    بطور مثال چندین تاپیک در مورد مشکلات نسخه آخر وردپرس ایجاد شد که معمولاً در مورد مشکل ارسال ایمیل بود !

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

    نکته بعدی چندیدن بار در مورد مسائل سئو بحث شده ، کافی است کمی توی انجمن جستجو کنید !

    دوستان زیادی دنبال افزونه های وردپرس هستن ! والا من به غیر از این انجمن یه جای بهتر سراغ دارم ! میگی نه ، کلیک کن http://wordpress.org/extend/plugins/

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

    نکته بعدی بعضی ها هستن که هر مطلبی رو در این انجمن عنوان میکنن ! درسته ، این انجمن تالار مباحث آزاد داره ، اما اگه دقت کنید اون بالا نوشته وردپرس پارسی! پس خودمون باید بدونیم که زیاد حاشیه نریم و به اصل موضوع که در اینجا وردپرس هست بپردازیم و موضوعات دیگه جاهای دیگه !

    نکته بعدی اینکه به روش آزمون و خطا ، هیچ وقت نمیتونید مبحثی رو یاد بگیرید و توش تبحر پیدا کنید .

    متوجه نشدی ؟! عرض میکنم .

    اکثر کاربران تا وقتی مشکلی پیش میاد دنبال حل مشکل میگردن ! اما حل کردن مشکل به بهترین نحو ، لازمه اش داشتن اطلاعات پایه است .

    شما باید حتماً یک سری اطلاعات پایه در مورد html , css بدونید تا بتونید سریعتر مشکلتون رو حل کنید ! نه اینکه تا وقتی مشکلی داشتید دنبال راه حل یادگیریش باشید!

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

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

    پس لطفاً فقط دنبال حل مشکل نباشید .

    مطالب آموزشی رو دنبال کنید ، کمی پیشنیازتون رو تقویت کنید .

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

    صرفاً این مشکل و راه حلش به نوعی یک آموزش تلقی میشه پس لطفاً مباحث حل شده رو دنبال کنید تا اگر احیاناً چنین مشکل مشابهی براتون پیش آمد راحتتر بتونید حلش کنید .

    بطور مثال من تا تاپیک مشکل ایمیل وردپرس رو توی انجمن ندیدم اصلاً نمیدونستم این نسخه همچین مشکلی داره!

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

    حرف آخر اینکه ، سعی کنی یاد بگیرید خودتون مشکلات خودتون رو حل کنید! اطلاعات پایه خودتون رو تقویت کنید !

    سرتون رو درد آوردم ، حلالم کنید .

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

    این ایرادی نداره؟

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

    برای ساعت محتویات فایل time رو با این جایگزین کن .

    اون توضیحات آقا مرتضی رو هم میخوندی خودت متوجه میشدی !



    <?php
    /*
    Plugin Name: Bbpress Persian date by jCalender class
    Description: Persian date for Bbpress
    Plugin URI: http://wpbazar.com
    Author: Mortza Geransayeh
    Author URI: http://geransayeh.com
    Version: 0.1
    */

    include_once dirname(__FILE__).'/jcalendar.class.php';
    $j_cal = new jCalendar;

    function bb_p_jal()
    {
    global $bb_post,$j_cal;
    $lalaposttime = $j_cal->date( 'd M Y h:m', strtotime( $bb_post->post_time ),3.5 );
    echo $lalaposttime;
    }


    function bb_t_jal()
    {
    global $topic,$j_cal;
    $lalaposttime = $j_cal->date( 'd M Y h:m', strtotime( $topic->topic_start_time ),3.5 );
    echo $lalaposttime;
    }
    ?>

    • امتیاز 4
  3. سلام

    این پلاگین رو جایگزین کنید .

    (خودم تست نکردم مشکلی داشت بگید .)

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

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

    WP-Parsi-jdate-by_jcalendar_bbpress-plugin.zip

    • امتیاز 4
  4. البته اون تابع یه خطای نگارشی داره درستش str_replace هست

    سه آرگومان میگیره .

    اولی رشته مورد نظر که باید جایگزین بشه .

    دومی رشته جایگیزن که من خالی گذاشتم

    سومی متغییری که شامل کل رشته میشه .

    اینو خودت استفاده کن دیگه یه توضحیاتتو ریزتر بگو تا بهتر بتونم کمکت کنم

    • امتیاز 1
  5. معذرت میخوام بنده منظورم دانلود مونیتور بود . download-monitor

    ببنید شما افزونه رو نصب میکنید یک دانلود جدید اضافه میکنید یک لینک بهش میدید مثلاً من لینک دانلود یک فایل رو بهش دادم .

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


    http://www.rezaonline.net/blog/wp-content/plugins/download-monitor/download.php?id=14

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

    شما میتونه به جای لینک دانلود آدرس سایتت رو بذاری و یه همچین لینکی رو به مشتری هات بدی تا روش کلیک کنن

    http://www.rezaonline.net/blog/css3_ebook_persian.html

    • امتیاز 1
  6. بعضی وقتها ممکنه پشتیبان سایت یه رستور بک آپ داشته باشه :rolleyes: در این مواقع بعضی وقتها سطح دسترسی فایلها به هم میرزه بعضی وقتها هم فایل .htaccess حذف میشه .

    شما توی پیوند یکتا یبار به حالت پیشفرض برگردید example.com/?p=1 و بعد دوباره پیوند یکتای خود را بنویسید تا وردپرس فایل .htaccess رو دوباره بنویسه .

    • امتیاز 3
  7. پس میشه گفت تقریباً یه چیز سلیقه اییه !

    والا من که استفاده میکنم ، چون اینجوری ادامه لینک ختم به خیر میشه !

    مثلاً آدرس

    mysite.com/category/wordpress

    ممکن هست ادامه داشته باشه

    mysite.com/category/wordpress/page/5

    ولی آدرسهای ختم به .html ادامه ندارن! خوبیش اینه خواننده میفهمه .

    (البته میشه کوئری استرینگ هم داد بهش ولی دیگه کهنه شده )

    • امتیاز 1
  8. داش مرتضی شدیداً باهاتون مخالفم .

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

    البته هیچ دلیل مستندی براش ندارم اما طبق تجریه خودم .html آخر همه چی کولاک میکنه!

    حد اقل واسه من ;)

    • امتیاز 4
  9. توی انجمن forum.wp-persian.com به شخصه چندین تاپیک رو دیده ام که گفته بودن از نت افزار هاست دارن و این شرکت مدام بهشون اخطار میده که مصرف سی پی یو فایل index.php وردپرس بالاست .

    و اکثر قریب به اتفاق با تغییر هاست دیگه شاهد چنین موضوعی نبودند

    • امتیاز 2
  10. ارث بری :

    شاید مقوله ارث بری در همین ابتدا کمی براتون سنگین باشه و اصلاً لزوم استفاده شو ندونید .

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

    در یک برنامه ساده مثلاً وردپرس ، کاربر نهایی در خود پنل وردپرس کار میکند و اصلاً نیازی به گشت و گذار در کدهای پی اچ پی را ندارد اما اگر برنامه شما یک برنامه پویا باشد ، باید انتظار این را داشته باشید که هر شخصی بتواند نسبت به نیاز خودش ، برنامه را تغییر و توسعه دهد .

    بر همین اساس یک سری کلاسها بعنوان base برنامه استفاده میشود (که معمولاً در init برنامه بعنوان هسته معرفی میشوند) که کلاسهای دیگر از این کلاس ارث بری میکنند.

    مثلاً ما یک کلاس post تعریف میکنیم که وظیفه آن گرفتن اطلاعات یک post هست .



    class post{

    const dbname = 'test';
    const dbuser = 'root';
    const dbpass = '';
    const dbhost = 'localhost';

    private function connect()
    {
    @mysql_connect(self::dbhost, self::dbuser, self::dbpass) or die('<h1>error in connect db');
    @mysql_select_db(self::dbname) or die('<h1>error in select db');
    @mysql_query("SET NAMES 'utf8' ");
    }

    public function get_post_by_id($id = null)
    {
    $id = (int) $id;
    $this->connect();
    $query = mysql_query("SELECT * FROM `post` WHERE `id`=$id LIMIT 1 ");
    return mysql_fetch_assoc($query);
    }

    }

    حال میتوانیم کلاسهای دیگری را تعریف کنیم که از این کلاس ارث بری کنند .

    مثلاً کلاس موضوعات



    class category extends post{

    public function get_post_by_catid($cat_id = null)
    {
    $cat_id = (int) $cat_id;
    $this->connect();
    $query = mysql_query("SELECT `post_id`,`cat_id` FROM `cat_post` WHERE `cat_id`=$cat_id ");

    $out = array();

    while($row = mysql_fetch_assoc($query))
    {
    $get_post = $this->get_post_by_id($row['post_id']) ;
    $out[] = $get_post['title'];
    }

    return $out;
    }
    }

    میبینید که در کلاس category متدهایی رو استفاده کردیم که در کلاس post هست پس کلاس post میشه کلاس پدر (کلاس مادر هم داریم بعداً توضیح میدم ;) )

    حال نحوه استفاده خیلی ساده است مثلاً مطالب موضوعات شناسه 2 رو میخوایم



    $category = new category;
    $post_by_cat = $category->get_post_by_catid(2);

    foreach($post_by_cat as $post)
    {
    echo $post['title'].' - ';
    }
    //out : عنوان مطلب 1 - عنوان مطلب2 - عنوان مطلب 3 - عنوان مطلب چهارم

    *یک نکته ! دیدید که در کلاس post متد connect از نوع protected هست این بدان معنی است این متد در کلاسهای مشتق (مثل category) هم میتواند استفاده شود اما در نمونه گیری خیر ! بطور مثال دستور زیر نادرست است .



    $post = new post;
    $post->connect(); # Error

    • امتیاز 7
  11. به نظرم بهتره سوالتون رو توی انجمن webhostingtalk.ir بپرسید .

    هزینه یک سرور اختصاصی به طور متوسط چقدر هست؟

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

    ولی در کل شاید ماهی 400 تومن یه چیز معمولی .

    شما باید سرور مجازی بگیرید .

    ماهی 10 تومن یا 15 تومن

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

    • امتیاز 3
  12. با اجازه آقا مرتضی و ضمن تشکر از ایشون جهت آموزش عموم مطالب لازم .

    آموزش شی گرائی :

    درک مفهوم شی گرائی و لزوم کاربرد :

    هر برنامه لزوماً دارای یک سری منطق مشابه و تکراری است یه بهتر بگم یک سری توابع و اعمال تکراری .

    ساده ترین مثال کاربا دیتابیس .

    فرض رو بر این بگیریم پروژه شما با پایگاه داده Mysqlنوشته شده و از درایور mysql استفاده میکنید . در جای جای پروژه شما میتوان تابع mysql_query را یافت .

    حال با به دلایلی مجبور به استفاده از پایگاه دیگه ای هستید یا شاید بخواهید از داریور mysqli استفاده کنید! اینجاست که باید کل پروژه دستخوش تغییر شود . اما اگر همیشه از یک شی که کار اتصال و کوئری گرفتن را انجام دهد استفاده کنید ، فقط کافیست یک کلاس رو تغییر دهید .

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

    پیشنهاد میکنم این مطالب را بخوانید .

    http://phpro.ir/topic/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%b4%db%8c%d8%a1-%da%af%d8%b1%d8%a7-%d8%af%d8%b1-php-%d9%82%d8%b3%d9%85%d8%aa-%d8%a7%d9%88%d9%84-2

    http://forum.iranphp.org/Thread-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B4%DB%8C-%DA%AF%D8%B1%D8%A7%DB%8C%DB%8C?pid=577#pid577

    شروع

    برای داشتن یک شی نیاز به یک کلاس دارید ، که اشیا از روی آن ساخته شوند و کارها را انجام دهند .

    کلاس با کلمه class شروع میشود و بعد از آن اسم کلاس دلخواه که تابع قوانین نامگذاری پی اچ پی است و دو تا آکولاد


    class my_class{

    // some code

    }

    هر کلاس میتواند شامل متغییرها ، ثابت ها و توابع مخصوص به خود باشد .

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



    class my_class{

    public $var1 = null;
    private $var2 = null;
    protected $var3 = null;

    const my_define = 'i am constant';

    public function my_func1()
    {
    ///
    }

    private function my_func2()
    {
    //
    }

    protected function my_func3()
    {
    //
    }

    }

    var1 , var2 , var3 متغییرها یا بهتر بگم پروپرتیهای کلاس هستند (در ادامه با تفاوت کلامات کلیدی public protected private آشنا میشید ).

    my_define ثابت کلاس هست .

    my_func1 , my_func2 , my_func3 متدهای کلاس هستن که البته میتونن آرگومان هم بگیرن مثلاً



    class my_class{

    public $var1 = null;
    private $var2 = null;
    protected $var3 = null;

    const my_define = 'i am constant';

    public function my_func1($arg1,$arg2)
    {
    ///
    }

    private function my_func2($arg1=null)
    {
    //
    }

    protected function my_func3($arg1 = '')
    {
    //
    }

    }

    استفاده از پروپرتی ها در داخل متدهای کلاس

    خب طبعاً ما پروپرتی ها و ثوابتی رو تعریف کردیم نحوه استفاده از آنها برای متدها و پروپرتی های غیر استاتیک(بعداً آشنا میشوید) از کلمه کلیدی $this استفاده میشود و برای ثوابت از self (بعداً خواهید آموخت برای متد و پروپرتی های استاتیک هم از کلمه کلیدی self استفاده میشود)




    class my_class{

    public $var1 = null;
    private $var2 = null;
    protected $var3 = null;

    const my_define = 'i am constant';

    public function my_func1()
    {
    if($this->var1 === null) // this is true
    $this->var1 = 'My firest var setted';
    }

    public function show_var()
    {
    $this->myfunc1();
    echo $this->var1; //out : My firest var setted
    }

    public function show_const()
    {
    echo self::my_define; // out: i am constant
    }

    public function show_var2()
    {
    echo $this->var2; // out: null/0
    }

    public function set_var2($arg)
    {
    $this->var2 = $arg;
    }

    }

    نحوه استفاده از کلاس

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

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

    کلاس بالا رو در نظر بگیرید ابتدا باید یک شی از این کلاس بسازیم و در متغییر بذاریم .

    فکر کنم مثال پائین گویای همه چیز هست .



    $obj1 = new my_class;
    $obj1->show_var(); // out: My firest var setted

    $obj1->var1 = 'setted in put';
    $obj1->show_var(); // out: setted in put

    $obj1->show_const(); //out: i am constant
    echo $obj1::my_define ; //out: i am constant

    $obj1->set_var2('i am setted2');
    $obj1->show_var2(); // out : i am setted2

    ذکر این نکته خارج از لطف نیست که متد ها و پروپرتی هایی که public هستن در نمونه گیری میتونن مورد استفاده باشن . همچنین ثابتها را نمیتوان مقدار دهی کرد (اسمش روی خودشه دیگه)

    برای مثال دستورات زیر خطا میدهد .



    $obj1->var2= 'i am var2'; # Error
    echo $obj1->var3 ; # Error
    $obj1::my_define = 'you not setted'; # Error

    جلسه آینده بیشتر بحث میکنیم .

    جهت مطالعه بیشتر : http://phpro.ir/topic/%D9%85%D8%AA%D8%AF%D9%87%D8%A7%DB%8C-%D8%AC%D8%A7%D8%AF%D9%88%DB%8C%DB%8C-%D8%AF%D8%B1-php

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