حلقه در وردپرس چه چیزهایی را می تواند نمایش دهد؟
همان طور که در بخش اول حلقه در وردپرس یا The Loop ، بیان شد، حلقه وردپرس از مهم ترین مفاهیمی می باشد که شما باید آن را فرا بگیرید چرا که برای گرفتن انواع خروجی از پست ها یا پست های سفارشی خود و ساخت انواع صفحات سفارشی و نمایش آن ها به کاربران خود، می باید از حلقه در وردپرس استفاده نمایید.
هر حلقه در وردپرس، می تواند تعداد از اجزا مختلف را در هر پست برای شما نمایش دهد. به عنوان مثال برخی از template tag های که عموما در بسیاری از قالب ها استفاده می شوند، عبارتند از:
توابعی که در بالا به آن ها اشاره شده، می توانند در داخل حلقه در وردپرس استفاده شده و آن چیز را که شما برای نمایش یک پست یا صفحه را نیاز دارید را، نمایش دهند. شما همچنین می توانید از تگ های شرطی یا همان conditional tag ها، برای کنترل اینکه در صورت برقراری چه شرطی، اطلاعات درخواست شده، نمایش داده شوند، استفاده نمایید.
به عنوان مثال شما می توانند از conditional tags زیر برای کنترل نمایش خود، استفاده نمایید:
// Start the Loop. <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); /* * See if the current post is in news category and in sport tag category */ if ( is_category('news') && is_tag('sport') ) : ?> //Do something for if condition <?php else : ?> //Do something for else condition <?php endif; ?> /* * See if the current page use from about-page.php template file */ <?php if ( is_page_template('about-page.php') ) : ?> //Do something for if condition <?php else : ?> //Do something for else condition <?php endif; ?> // Stop the Loop, but allow for a "if not posts" situation <?php endwhile; else : /* * The very first "if" tested to see if there were any posts to * display. This "else" part tells what do if there weren't any. */ _e( 'Sorry, no posts matched your criteria.', 'textdomain' ); // Completely stop the Loop. endif; ?>
مثال های استفاده حلقه در وردپرس
برای درک راحت تر از استفاده حلقه در وردپرس و اینکه حلقه ها در وردپرس چه چیزهایی را نمایش می دهند، مثال های زیر در نظر گرفته شده است که شما در بهتر فهمیدن فرآیند کار آن ها، یاری خواهند کرد:
یک مثال ساده از استفاده حلقه در وردپرس : نمایش صفحه بایگانی بلاگ
اکثر بلاگ ها، صفحه ای با نام بایگانی نمایش پست ها یا همان blog archive page را دارند که در آن می توانند تعدادی از پست های منتشر شده در سایت شما را به همراه عنوان، عکس های thumbnail آن ها و چکیده مطلب آن ها را، به کاربران نمایش دهند.
مثال زیر، یک کاربرد بسیار ساده از یک حلقه ساده وردپرس را نمایش می دهد که در آن، در صورتی که نوشته ای در سایت شما موجود باشد، هر عنوان، عکس thumbnail و چکیده آن پست را، به عنوان خروجی بر می گرداند. در صورتی هم که پستی در سایت موجود نباشد، خروجی برابر متنی خواهد بود که در پرانتز قرار داده شده است:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h2><?php the_title(); ?></h2> <?php the_post_thumbnail(); ?> <?php the_excerpt(); ?> <?php endwhile; else: ?> <?php _e( 'متاسفانه پستی برای نمایش وجود ندارد', 'textdomain' ); ?> <?php endif; ?>
مثال دیگر از استفاده حلقه در وردپرس جهت نمایش یک نوشته یا پست به صورت مجزا
در وردپرس، هر پست برای خود به صورت مجزا دارای یک صفحه منحصر به فرد می باشد که در آن اطلاعات مربوط به آن پست، نمایش داده می شود. template tag ها به شما اجازه می دهند تا تعیین کنید که کدام یک از این اطلاعات به نمایش در بیایند و به وسیله آن ها شما می توانید به هر نحوی که می خواهید، صفحه نمایش یک پست را سفارشی سازی کنید.
در مثال زیر، خروجی حلقه در وردپرس، عنوان نوشته و محتویات آن می باشد. شما با استفاده از مثال زیر می توانید ابتدایی ترین اطلاعات در مورد یک پست که شامل عنوان و محتوای آن می باشد را، به نمایش در بیاورید. شما می توانید با استفاده از انواع template tag و همین طور conditional tag ها، محتوای نمایش داده شده را به دلخواه خود سفارشی سازی کنید، مثلا می توانید دسته بندی این پست را نیز در صفحه به نمایش درآورید:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <h1><?php the_title(); ?></h1> <?php the_content(); ?> <?php the_category() ?> <?php endwhile; else: ?> <?php _e( 'متاسفانه اطلاعات پست مورد نظر در سایت موجود نمی باشد', 'textdomain' ); ?> <?php endif; ?>
یک مثال سطح متوسط از کاربرد حلقه در وردپرس: دادن استایل های متفاوت به دسته بندی های مختلف
مثال زیر که یک استفاده سطح متوسط از the loop را وردپرس نمایش می دهد، دو کار را انجام می دهد:
- ابتدا هر پست را به همراه عنوان، زمان انتشار، نویسنده آن، محتوا آن و دسته بندی های مرتبط با آن را (مشابه آنچه در مثال قبلی دیدید) نمایش می دهد
- به شما اجازه می دهد که برای دسته بندی با ID برابر با ۳، از استایل متفاوت و ساختار HTML متفاوتی استفاده کنید. این امر با استفاده از تگ قالب با نام in_category انجام می شود
به کامنت های گذاشته شده در داخل حلقه برای فهم بیشتر مطلب، حتما دقت کنید:
// Start the Loop. <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); /* * See if the current post is in category 3. * If it is, the div is given the CSS class "post-category-three". * Otherwise, the div is given the CSS class "post". */ if ( in_category( 3 ) ) : ?> <div class="post-category-three"> <?php else : ?> <div class="post"> <?php endif; ?> // Display the post's title. <h2><?php the_title() ?></h2> // Display a link to other posts by this posts author. <small><?php _e( 'Posted by ', 'textdomain' ); the_author_posts_link() ?></small> // Display the post's content in a div. <div class="entry"> <?php the_content() ?> </div> // Display a comma separated list of the post's categories. <?php _e( 'Posted in ', 'textdomain' ); the_category( ', ' ); ?> // closes the first div box with the class of "post" or "post-cat-three" </div> // Stop the Loop, but allow for a "if not posts" situation <?php endwhile; else : /* * The very first "if" tested to see if there were any posts to * display. This "else" part tells what do if there weren't any. */ _e( 'Sorry, no posts matched your criteria.', 'textdomain' ); // Completely stop the Loop. endif; ?>
راهنما برای مطالعه بیشتر:
شما می توانید از لینک های زیر برای مطالعه بیشتر استفاده نمایید:
راهنما برای خواندن سایر مقالات سایت به صورت دسته بندی شده:
شما می توانید از طریق لینک های کاربردی زیر به سایر مقالات سایت که کاملا بصورت طبقه بندی شده وجود دارد، مراجعه نموده و از آن ها استفاده کنید:
ثبت ديدگاه