انجمن


بهره گیری از Functions.php در وردپرس  (۶ نوشته)

  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۷ آبان ۱۳۹۰ - ۰۱:۱۵

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

    wp_list_recent_posts( Amount, Categories, HTML before, HTML after );
    تابع سفارشی به لیست پست های اخیر هست.

    استفاده از تابع :

    <ul>
    // gets 10 recent posts from all categories except category 5.
           <?php if ( function_exists( 'wp_list_recent_posts' ) ) wp_list_recent_posts( 10, '-5' ); ?>
    </ul>

    shorten_text( Characters, Tail, Print );
    تابع سفارشی برای کوتاه کردن محتوای پست در تعدادی از کارکترهای داده شده.
    Characters:(عدد صحیح، به طور پیش فرض 250) -- تعداد از کاراکتر برای نشان دادن.
    Tail: (رشته، به طور پیش فرض "...") -- متن نشان می دهد بعد از متن کوتاه.
    Print: (بولی ، به طور پیش فرض : درست است) -- نسخه قابل چاپ لیست و یا بازگشت آن برای PHP.

    استفاده از تابع :

    // wordpress loop
    <?php   while (have_posts()) : the_post(); ?>
           <h1><?php the_title(); ?></h1>
           <div class="entry">
           // will shorten text after 150 characters
           <?php if ( function_exists( 'shorten_text' ) ) shorten_text( 150 ); ?>
           </div>
    <?php  endwhile; ?>

    highlight_comment( Class Name, Author ID );

    تابع سفارشی برای نمایش بخش هایی برجسته از نظر نویسنده.
    Class Name: (رشته ، به طور پیش فرض : autor - نظر) -- نام کلاس CSS مورد نظر است.
    Author ID: (عدد صحیح، به طور پیش فرض 1) تعداد -- آیدی کاربر نویسنده.

    استفاده از تابع :

    // Comments Loop
    <?php foreach ($comments as $comment) : ?>
           <li id="comment-<?php comment_ID() ?>" class="<?php echo $oddcomment ?> <?php if ( function_exists( 'highlight_comment' ) ) highlight_comment(); ?>">
    ...
    ?>

    display_copyright( Year, Separator, Tail );

    تابع سفارشی که اطلاعات مربوط به کپی رایت پویا را نشان می دهد.
    Year: (عدد صحیح ، به طور پیش فرض : سال جاری) -- اگر یک سال قبل از فعلی داده می شود آن را قبل از یکی از سالهای جاری (2012 -- 2011) نشان میدهد.
    Separator: (رشته ، به طور پیش فرض : "--") -- متن مورد استفاده برای جدا کردن سال (در مورد یک سال قبل اعلام میشه).
    Tail: (رشته، به طور پیش فرض. "کلیه حقوق این سایت متعلق به است.") -- متن نشان می دهد پس از اطلاعات کپی رایت قرار دارد.

    استفاده از تابع :

    <?php if ( function_exists( 'display_copyright' ) ) display_copyright(); ?>
    // will display: <div id="copyright">© 2011. Blog Name. All rights reserved.</div>
    <?php if ( function_exists( 'display_copyright' ) ) display_copyright( 2011, ' to ', '. Some rights reserved.' ); ?>
    // will display: <div id="copyright">© 2006 to 2008. Blog Name. Some rights reserved.</div>

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

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    Morteza - Mostafa - iruni - amirsaam - امین - Masx
  • Mostafa

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۵۲۷۶
    تشکر شده: ۵۷۷۷ بار
    # نوشته شده: ۹ سال پیش
    ۷ آبان ۱۳۹۰ - ۱۳:۴۲

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

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    NESTED
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۷ آبان ۱۳۹۰ - ۱۴:۰۵

    mostafa1990 گفت:
    سلام، آموزش خوبی هست، بهتر است این مقاله رو در مستندات نیز ارسال کنید.

    ممنون و دو سوال
    یک : در ادیتور مستندات برای قرار گیری کدهای php از چه شورت کدی استفاده کنم ؟ چرا که ادیتور فاقد ابزار لازم هست !
    دو :من فارسی شده اغلب مطالب مستندات wordpress.org رو در اختیا ردارم و هنوز هم در این روند فارسی سازی ادامه داره
    می خواستم نظر شما رو در مورد انتشار کلی این مطالب در بخش مستندات وردپرس فارسی جویا بشم ؟

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    iruni
  • Mostafa

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۵۲۷۶
    تشکر شده: ۵۷۷۷ بار
    # نوشته شده: ۹ سال پیش
    ۹ آبان ۱۳۹۰ - ۱۴:۴۸

    یک : در ادیتور مستندات برای قرار گیری کدهای php از چه شورت کدی استفاده کنم ؟ چرا که ادیتور فاقد ابزار لازم هست !

    مستندات تغییر کرده، شما یه لطفی کنید دستورات زیر رو تست کنید و نتیحه رو در پیشنمایش ببینید، اگر جواب نداد؛ گناهکار جوابشو میده.

    [php][/php]
    [code][/code]
    <code></code>
    <php></php>

    می خواستم نظر شما رو در مورد انتشار کلی این مطالب در بخش مستندات وردپرس فارسی جویا بشم ؟

    اگر انتشار بشه که عالی میشه! (که نمیشه) هرچند مستندات wordpress.org خیلی عظیم هست.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    NESTED
  • NESTED

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۲۳۵۴
    تشکر شده: ۲۳۷۰ بار
    # نوشته شده: ۹ سال پیش
    ۹ آبان ۱۳۹۰ - ۱۴:۵۶

    در مورد انتشار فارسی مستندات
    دسته بندی های اصلی و زیر دسته های اصلی ، به طور میانگین 40% مطالب فارسی شدن
    این روند فارسی سازی توسط مترجم صورت گرفته فقط مغایرتی در دسته بندی ها در مستندات سایت اصلی با مستندات این سایت است
    و اینکه انتشار همین مقدار فارسی شده نیاز به همکاری دوستان هست تا قسمت مستندات رو چند نفره مطالب رو ارسال کنن

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    alishah
  • alishah

    آفلاین
    عضو
    تعداد نوشته‌ها: ۱۰
    # نوشته شده: ۸ سال پیش
    ۲۴ شهریور ۱۳۹۲ - ۰۱:۵۶

    دوست عزیز قالب من فایل functions.php نداره
    خودم ایجاد کردم و داخلش کد انتخاب خودکار تصویر شاخص رو ریختم
    ولی این کد کار نمیکنه ، قبلا امتحان کرده بودم روی پوسته دیگری که functions.php داشت بخوبی کار میکرد.
    آیا باید کد دیگه ای هم به فانکشن اضافه کنم تا کار کنه
    کد های من در فانکشن اینه:

    <?php
    function autoset_featured() {
              global $post;
              $already_has_thumb = has_post_thumbnail($post->ID);
                  if (!$already_has_thumb)  {
                  $attached_image = get_children( "post_parent=$post->ID&post_type=attachment&post_mime_type=image&numberposts=1" );
                              if ($attached_image) {
                                    foreach ($attached_image as $attachment_id => $attachment) {
                                    set_post_thumbnail($post->ID, $attachment_id);
                                    }
                               } else {
                                    set_post_thumbnail($post->ID, '33');
                               }
                            }
          }  //end function
    add_action('the_post', 'autoset_featured');
    add_action('save_post', 'autoset_featured');
    add_action('draft_to_publish', 'autoset_featured');
    add_action('new_to_publish', 'autoset_featured');
    add_action('pending_to_publish', 'autoset_featured');
    add_action('future_to_publish', 'autoset_featured');
    ?>

درباره‌ی این موضوع



برچسب‌ها

هیچ برچسبی نیست.