کشف اسرار فایل Comments.php وردپرس

شروع موضوع توسط administrator ‏14 می 2012 در انجمن آموزش ها

  1. administrator

    administrator مدیریت کل سایت

    تاریخ عضویت:
    ‏27 جولای 2011
    ارسال ها:
    2,989
    تشکر شده:
    1,027
    با سلام به همه کاربران عزیز سایت Woc.ir

    اینبار با یک آموزش دیگر برای سیستم وردپرس اومدیم که امیدواریم مورد استفاده قرار بگیره. در این مبحث قصد داریم تا در مورد فایل comments.php وردپرس بحث کنیم و کار هر کدی که داخل این فایل هست رو براتون اموزش بدیم.پس تا پایان آموزش با ما باشید.

    تذکــــــــــــــــــــــــــر : کپی برداری از این مطلب تنها با ذکر منبع مجاز میباشد​


    آمـــــــــــــــــــــــــــوزش :

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

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

    1- فایل php در یک نگاه

    2- کد عمومی

    1- جلوگیری از دسترسی مستقیم به comments.php
    2-آیا رمز عبور مورد نیاز است؟

    3- نمایش نظرات

    1- اساس برچسب های قالب نظر
    2-نتیجه نهایی

    4-فرم نظر

    1-نمای کلی عبارت شرطی
    2- قرار دادن فرم

    5- تعدادی از کدهای دیگر

    1-Gravatars
    2- تعداد نظر
    3- لینک ها نظرات
    4-در حال ویرایش نظر
    5- رنگ های متناوب برای نظرات
    6- نمایش تگ های مجاز
    7-دیدگاهها با RSS لینک

    6-نتیجه
     
  2. administrator

    administrator مدیریت کل سایت

    تاریخ عضویت:
    ‏27 جولای 2011
    ارسال ها:
    2,989
    تشکر شده:
    1,027
    فایل php در یک نگاه

    PHP:
        <?php if(!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) : ?>  
        <?php endif; ?>  
          
        <?php if(!empty($post->post_password)) : ?>  
            <?php if($_COOKIE['wp-postpass_' COOKIEHASH] != $post->post_password) : ?>  
            <?php endif; ?>  
        <?php endif; ?>  
          
        <?php if($comments) : ?>  
            <?php foreach($comments as $comment) : ?>  
                <?php if ($comment->comment_approved == '0') : ?>  
                <?php endif; ?>  
            <?php endforeach; ?>  
        <?php else : ?>  
        <?php endif; ?>  
          
        <?php if(comments_open()) : ?>  
            <?php if(get_option('comment_registration') && !$user_ID) : ?>  
            <?php else : ?>  
                <?php if($user_ID) : ?>  
                <?php else : ?>  
                <?php endif; ?>  
            <?php endif; ?>  
        <?php else : ?>  
        <?php endif; ?>  
    این کد php کلی فایل comments.php هست. شاید برای تازه کاران در نگاه اول این کدها قابل مفهوم نباشه ولی جای نگرانی نیست که چیزی از کد های بالا نمیدونید چون قرار حسابی در این باره بحث کنیم.

    ادامه آموزش در بخش بعدی...
     
  3. administrator

    administrator مدیریت کل سایت

    تاریخ عضویت:
    ‏27 جولای 2011
    ارسال ها:
    2,989
    تشکر شده:
    1,027
    2- کد های عمومی

    - جلوگیری از دسترسی مستقیم به comments.php


    PHP:
        <?php if(!empty($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) : ?>  
        <?php endif; ?>  
    این خط از کد مانع از مشاهده مستقیم فایل توسط کاربران یا هر شخصی دیگری میشه.شما میتوانید این را یک اقدام امنیتی در نظر بگیرید.شما در این قسمت میتوانید یک پیغام نیز قرار دهید تا هنگامی که شخص به این فایل مراجعه میکند برایش نمایش داده شود. که به صورت پیش فرض You can not access this page directly قرار داده شده است.

    - آیا پسورد ضروری هست ؟

    PHP:
        <?php if(!empty($post->post_password)) : ?>  
            <?php if($_COOKIE['wp-postpass_' COOKIEHASH] != $post->post_password) : ?>  
            <?php endif; ?>  
        <?php endif; ?>  
    در این قسمت چک میکند که ایا رمزی برای پست قرار داده شده است یا نه .در صورتی که رمز را در اختیار نداشته باشید اجازه مشاهده نظرات پست رو ندارید.

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

    قسمت های دیگر در آموزش بعدی ...
     
  4. administrator

    administrator مدیریت کل سایت

    تاریخ عضویت:
    ‏27 جولای 2011
    ارسال ها:
    2,989
    تشکر شده:
    1,027
    3- نمایش نظرات

    PHP:
        <?php if($comments): ?>  
            <?php foreach ($comments as $comment) : ?>  
                <?php if ($comment->comment_approved == '0') : ?>  
                <?php endif; ?>  
            <?php endforeach; ?>  
        <?php else : ?>  
        <?php endif; ?>  
    در اولین عبارت شرطی (if($comments)) را چک میکند در صورتی که نظری وجود داشته باشد پس از آن حلقه با دستور ::: foreach ::: است.در داخل دستور foreach دستور شرطی ::: if($comment->comment_approved == '0') ::: رو میبینید.اگر نظر تایید شده باشد آن را نمایش می دهد.

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

    PHP:
        <?php if($comments) : ?>  
            <ol>  
            <?php foreach($comments as $comment) : ?>  
                <li>  
                    <?php if($comment->comment_approved == '0') : ?>  
                        <p>Your comment is awaiting approval</p>  
                    <?php endif; ?>  
                    <p>Your comment</p>  
                </li>  
            <?php endforeach; ?>  
            </ol>  
        <?php else : ?>  
            <p>No comments</p>  
        <?php endif; ?>  
    تگ های یک قالب نظر میتونید از بخش زیر یاد بگیرید :

    http://woc.ir/wp-codex/comment.html

    در نتیجه :

    PHP:
        <?php if($comments) : ?>  
            <ol>  
            <?php foreach($comments as $comment) : ?>  
                <li id="comment-<?php comment_ID(); ?>">  
                    <?php if ($comment->comment_approved == '0') : ?>  
                        <p>Your comment is awaiting approval</p>  
                    <?php endif; ?>  
                    <?php comment_text(); ?>  
                    <cite><?php comment_type(); ?> by <?php comment_author_link(); ?> on <?php comment_date(); ?> at <?php comment_time(); ?></cite>  
                </li>  
            <?php endforeach; ?>  
            </ol>  
        <?php else : ?>  
            <p>No comments yet</p>  
        <?php endif; ?>  
    درج این کد به comments.php به شما یک لیست مرتب شده با نظرات و اطلاعات مورد نیاز را با یک پیام مبنی بر این که هیچ نظری وجود ندارد را نمایش میدهد.

    اینم از این قسمت

    بقیه قسمت ها در پست های بعدی ...

    منبع : Woc.ir

    :112 (2): کپی برداری با ذکر منبع مجاز است