<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Hồ Bảo Huy - Chuyên Gia SEO - Chuyên Gia Marketing &#187; WordPress Loop</title>
	<atom:link href="http://www.hobaohuy.com/tag/wordpress-loop/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hobaohuy.com</link>
	<description>www.hobaohuy.com</description>
	<lastBuildDate>Wed, 01 Oct 2014 07:44:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>WordPress Loop (Vòng lặp trong WordPress) – Các tham số đặc biệt cần nhớ</title>
		<link>http://www.hobaohuy.com/wordpress-loop-vong-lap-trong-wordpress-cac-tham-so-dac-biet-can-nho.html</link>
		<comments>http://www.hobaohuy.com/wordpress-loop-vong-lap-trong-wordpress-cac-tham-so-dac-biet-can-nho.html#comments</comments>
		<pubDate>Tue, 30 Sep 2014 05:33:17 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[Phát Triển WordPress]]></category>
		<category><![CDATA[wordpress api]]></category>
		<category><![CDATA[Wordpress Loop]]></category>
		<category><![CDATA[wordpress nâng cao]]></category>

		<guid isPermaLink="false">http://www.hobaohuy.com/?p=113</guid>
		<description><![CDATA[Như bạn đã biết thì trước đây mình đã có một bài cực kỳ chi tiết về WordPress Loop (Vòng lặp của WordPress) để bạn hiểu thêm về cách mà chúng ta sẽ cho hiển thị bài viết trong theme là như thế nào. Cũng từ bài đó, mình đã nhận được một số câu]]></description>
				<content:encoded><![CDATA[<p>Như bạn đã biết thì trước đây mình đã có một bài cực kỳ chi tiết về WordPress Loop (<strong>Vòng lặp của WordPress</strong>) để bạn hiểu thêm về cách mà chúng ta sẽ cho hiển thị bài viết trong theme là như thế nào. Cũng từ bài đó, mình đã nhận được một số câu hỏi liên quan về cách <strong>sử dụng các tham số như thế nào cho đúng</strong> và <strong>các tham số nào nên nhớ</strong> vì trong một Query nó có rất nhiều tham số khiến bạn phải choáng ngợp.<img class="decoded aligncenter" title="WordPress Loop (Vòng lặp) – Các tham số quan trọng cần nhớ" src="/images/post/2014/09/30/05//WordPress-loop.png" alt="WordPress loop WordPress Loop (Vòng lặp trong WordPress) – Các tham số đặc biệt cần nhớ"  /></p>
<p>Vậy thì ở trong bài này, mình sẽ giải thích kỹ hơn về các tham số quan trọng nhất mà bạn cần phải nhớ khi sử dụng WordPress Loop nhằm có thể “lôi” bài viết từ database ra theo đúng ý của mình.</p>
<h3>Về cách viết tham số</h3>
<p>Bạn có thể viết tham số theo dạng thế này nếu như chỉ dùng 1 hoặc 2 tham số.</p>
<div>
<div id="highlighter_331695" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query(</code><code class="php string">'posts_per_page=5&amp;s=wordpress'</code><code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Trong đó, dấu <strong>&amp;</strong> sẽ ngăn cách giữa các tham số với nhau.</p>
<p>Nhưng nếu bạn có nhiều tham số thì tốt nhất nên viết thành dạng thế này cho dễ quản lý:</p>
<div>
<div id="highlighter_595479" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
<div class="line number4 index3 alt1">4</div>
<div class="line number5 index4 alt2">5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$args</code> <code class="php plain">= </code><code class="php keyword">array</code><code class="php plain">(</code></div>
<div class="line number2 index1 alt1"><code class="php spaces">        </code><code class="php string">'posts_per_page'</code> <code class="php plain">=&gt; </code><code class="php string">'5'</code><code class="php plain">,</code></div>
<div class="line number3 index2 alt2"><code class="php spaces">        </code><code class="php string">'s'</code> <code class="php plain">=&gt; </code><code class="php string">'wordpress'</code></div>
<div class="line number4 index3 alt1"><code class="php plain">);</code></div>
<div class="line number5 index4 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query(</code><code class="php variable">$args</code><code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Tức là ta sẽ khai báo nó vào một biến để sử dụng. Có một cách mình rất hay xài là tạo các biến này trong file nào đó rồi include vào file functions.php để dễ quản lý nếu theme có nhiều Query khác nhau.</p>
<h3>Các tham số thông dụng của WordPress Query</h3>
<h4>1. Tham số tùy chỉnh số lượng bài viết cần lấy</h4>
<p>Tham số này tên là <code>posts_per_page</code>. Giá trị của nó sẽ là một số tự nhiên và số này chỉnh là số bài viết cần hiển thị ra.</p>
<div>
<div id="highlighter_954363" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php string">'posts_per_page=5'</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h4>2. Tham số lấy bài viết từ một post type chỉ định</h4>
<p>Tham số này sẽ dùng nhiều nhất khi bạn sử dụng Custom Post Type để Loop nó có thể lấy các bài viết ra từ một post type nào đó. Có thể lấy ra từ nhiều post type khác nhau.</p>
<div>
<div id="highlighter_517699" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php string">'post_type=sanpham'</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Nếu muốn lấy bài từ nhiều post type một lúc thì bạn sẽ viết thế này:</p>
<div>
<div id="highlighter_429825" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php keyword">array</code><code class="php plain">(</code></div>
<div class="line number2 index1 alt1"><code class="php spaces">        </code><code class="php string">'post_type'</code> <code class="php plain">=&gt; </code><code class="php keyword">array</code><code class="php plain">( </code><code class="php string">'post'</code><code class="php plain">, </code><code class="php string">'page'</code><code class="php plain">, </code><code class="php string">'sanpham'</code> <code class="php plain">)</code></div>
<div class="line number3 index2 alt2"><code class="php plain">) );</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<h4>3. Tham số bỏ qua các bài đăng sau nó</h4>
<p>Tham số này rất hữu dụng cho các bạn muốn làm trang tin tức khi sử dụng liên tiếp 2 loop với nhau, đó là bỏ qua các bài đăng sau nó bằng tham số <code>offset</code>.</p>
<div>
<div id="highlighter_177608" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php string">'offset=3&amp;posts_per_page=4'</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Đoạn trên nghĩa là nó sẽ hiển thị 4 bài nhưng loại trừ 3 bài mới nhất.</p>
<h4>4. Tham số bỏ qua Sticky Post</h4>
<p>Khi website bạn có gắn Sticky Post thì mặc định nó đều gọi ra trong Loop trong mọi trường hợp. Nếu bạn không muốn hiển thị sticky post ở một loop nào đó thì có thể sử dụng tham số <code>ignore_sticky_posts</code>.</p>
<div>
<div id="highlighter_695691" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php string">'ignore_sticky_posts=1&amp;cat=4&amp;posts_per_page=-1'</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Đoạn trên nghĩa là lấy toàn bộ bài viết (-1) trong category mang ID là 4 nhưng loại trừ sticky post trong category đó.</p>
<h4>5. Tham số lấy bài từ Category và Tag</h4>
<div>
<div id="highlighter_218761" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_loop</code> <code class="php plain">= WP_Query( </code><code class="php string">'tag=wordpress-co-ban&amp;cat=5'</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Đoạn trên nghĩa là sẽ lấy các bài viết trong category mang ID là <strong>5</strong> có gắn tag là <strong>wordpress cơ bản</strong> (viết dưới dạng slug).</p>
<p>Ngoài ra, một số tham số liên quan tới tag là:</p>
<ul>
<li><code>tag</code> (string) – Sử dụng slug của tag.</li>
<li><code>tag_id</code> (int) – Sử dụng với định dạng ID.</li>
<li><code>tag__and</code> (array) – Lấy bài từ nhiều tag nhưng các bài đó sử dụng chung nhiều tag, sử dụng ID.</li>
<li><code>tag__in</code> (array) – Lấy bài từ nhiều tag khác nhau, sử dụng ID.</li>
<li><code>tag__not_in</code> (array) – Không lấy bài từ tag chỉ định, dùng ID.</li>
<li><code>tag_slug__and</code> (array) – Tương tự với <code>tag__and</code> nhưng dùng slug.</li>
<li><code>tag_slug__in</code> (array) – Tương tự với <code>tag__in</code> nhưng dùng slug.</li>
</ul>
<p>Tương tự với tag, category cũng có các tham số tương tự như vậy, tham khảo tại đây.</p>
<h4>6. Lấy bài theo ngày tháng</h4>
<p>Phần ngày tháng này là một trong những tham số khá quan trọng vì nó sẽ có thể giúp ích được cho bạn để giải quyết nhiều vấn đề. Chẳng hạn như bạn muốn lấy bài theo tháng, ngày, giờ, cuối tuần, mùa,…..Hoàn toàn có thể làm được trong tham số này.</p>
<div>
<div id="highlighter_246332" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$new_query</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php string">'year=2014&amp;monthnum=06&amp;day=12'</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Ở đoạn trên là ta sẽ lấy bài trong ngày 12 tháng 6 năm 2014.</p>
<p>Nếu bạn cần lấy bài của ngày hôm nay ra thì có thể viết ở dạng như sau:</p>
<div>
<div id="highlighter_506275" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$today</code> <code class="php plain">= </code><code class="php functions">getdate</code><code class="php plain">();</code></div>
<div class="line number2 index1 alt1"><code class="php variable">$new_query</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php string">'year='</code> <code class="php plain">. </code><code class="php variable">$today</code><code class="php plain">[</code><code class="php string">"year"</code><code class="php plain">] . </code><code class="php string">'&amp;monthnum='</code> <code class="php plain">. </code><code class="php variable">$today</code><code class="php plain">[</code><code class="php string">"mon"</code><code class="php plain">] . </code><code class="php string">'&amp;day='</code> <code class="php plain">. </code><code class="php variable">$today</code><code class="php plain">[</code><code class="php string">"mday"</code><code class="php plain">] );</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Hoặc lấy toàn bộ bài trong tuần này:</p>
<div>
<div id="highlighter_598128" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">1</div>
<div class="line number2 index1 alt1">2</div>
<div class="line number3 index2 alt2">3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$week</code> <code class="php plain">= </code><code class="php functions">date</code><code class="php plain">(</code><code class="php string">'W'</code><code class="php plain">);</code></div>
<div class="line number2 index1 alt1"><code class="php variable">$year</code> <code class="php plain">= </code><code class="php functions">date</code><code class="php plain">(</code><code class="php string">'Y'</code><code class="php plain">);</code></div>
<div class="line number3 index2 alt2"><code class="php variable">$new_query</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php string">'year='</code> <code class="php plain">. </code><code class="php variable">$year</code> <code class="php plain">. </code><code class="php string">'&amp;w='</code> <code class="php plain">. </code><code class="php variable">$week</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Hoặc bạn cũng có thể lấy chi tiết bài trong thời gian nhất định của những ngày hành chính. Tức là <strong>từ 8h đến 17h từ thứ hai đến thứ sáu</strong>.</p>
<div>
<div id="highlighter_15837" class="syntaxhighlighter  php">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td class="gutter">
<div class="line number1 index0 alt2">01</div>
<div class="line number2 index1 alt1">02</div>
<div class="line number3 index2 alt2">03</div>
<div class="line number4 index3 alt1">04</div>
<div class="line number5 index4 alt2">05</div>
<div class="line number6 index5 alt1">06</div>
<div class="line number7 index6 alt2">07</div>
<div class="line number8 index7 alt1">08</div>
<div class="line number9 index8 alt2">09</div>
<div class="line number10 index9 alt1">10</div>
<div class="line number11 index10 alt2">11</div>
<div class="line number12 index11 alt1">12</div>
<div class="line number13 index12 alt2">13</div>
<div class="line number14 index13 alt1">14</div>
<div class="line number15 index14 alt2">15</div>
<div class="line number16 index15 alt1">16</div>
<div class="line number17 index16 alt2">17</div>
<div class="line number18 index17 alt1">18</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="php variable">$args</code> <code class="php plain">= </code><code class="php keyword">array</code><code class="php plain">(</code></div>
<div class="line number2 index1 alt1"><code class="php spaces">        </code><code class="php string">'date_query'</code> <code class="php plain">=&gt; </code><code class="php keyword">array</code><code class="php plain">(</code></div>
<div class="line number3 index2 alt2"><code class="php spaces">                </code><code class="php keyword">array</code><code class="php plain">(</code></div>
<div class="line number4 index3 alt1"><code class="php spaces">                        </code><code class="php string">'hour'</code>      <code class="php plain">=&gt; 9,</code></div>
<div class="line number5 index4 alt2"><code class="php spaces">                        </code><code class="php string">'compare'</code>   <code class="php plain">=&gt; </code><code class="php string">'&gt;='</code><code class="php plain">,</code></div>
<div class="line number6 index5 alt1"><code class="php spaces">                </code><code class="php plain">),</code></div>
<div class="line number7 index6 alt2"><code class="php spaces">                </code><code class="php keyword">array</code><code class="php plain">(</code></div>
<div class="line number8 index7 alt1"><code class="php spaces">                        </code><code class="php string">'hour'</code>      <code class="php plain">=&gt; 17,</code></div>
<div class="line number9 index8 alt2"><code class="php spaces">                        </code><code class="php string">'compare'</code>   <code class="php plain">=&gt; </code><code class="php string">'&lt;='</code><code class="php plain">,</code></div>
<div class="line number10 index9 alt1"><code class="php spaces">                </code><code class="php plain">),</code></div>
<div class="line number11 index10 alt2"><code class="php spaces">                </code><code class="php keyword">array</code><code class="php plain">(</code></div>
<div class="line number12 index11 alt1"><code class="php spaces">                        </code><code class="php string">'dayofweek'</code> <code class="php plain">=&gt; </code><code class="php keyword">array</code><code class="php plain">( 2, 6 ),</code></div>
<div class="line number13 index12 alt2"><code class="php spaces">                        </code><code class="php string">'compare'</code>   <code class="php plain">=&gt; </code><code class="php string">'BETWEEN'</code><code class="php plain">,</code></div>
<div class="line number14 index13 alt1"><code class="php spaces">                </code><code class="php plain">),</code></div>
<div class="line number15 index14 alt2"><code class="php spaces">        </code><code class="php plain">),</code></div>
<div class="line number16 index15 alt1"><code class="php spaces">        </code><code class="php string">'posts_per_page'</code> <code class="php plain">=&gt; -1,</code></div>
<div class="line number17 index16 alt2"><code class="php plain">);</code></div>
<div class="line number18 index17 alt1"><code class="php variable">$new_query</code> <code class="php plain">= </code><code class="php keyword">new</code> <code class="php plain">WP_Query( </code><code class="php variable">$args</code> <code class="php plain">);</code></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p>Tham khảo thêm tại đây.</p>
<h3>Lời kết</h3>
<p>Ở bài trên chúng ta đã làm quen qua 6 tham số chính khá quan trọng trong việc sử dụng Query trong WordPress để lấy bài theo ý muốn. Thực tế sức mạnh của WordPress Query còn lớn hơn nhiều nếu bạn có khả năng sáng tạo tốt và áp dụng hết toàn bộ tinh hoa của WordPress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hobaohuy.com/wordpress-loop-vong-lap-trong-wordpress-cac-tham-so-dac-biet-can-nho.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
