Thứ Sáu, 12 tháng 9, 2014


Thông thường các bạn thường hay thấy các hiệu ứng phát sáng rất đẹp được sử dụng bằng phần mền Photoshop.Sau đây mình xin trình bày một phần nho nhỏ của hiệu ứng để tạo nên một hiệu ứng phát sáng được kết hợp giữa hai phần mền Photoshop và AI. Để các bạn học Photoshop có thể tham khảo.

Bước 1:Khỏi động giao diện và tạo nèn cho hình.
Trước tiên bạn khởi động giao diện Photoshop > Tạo một File mới với kích thước vừa ý.Chọn màu nền Foreground màu xanh và background màu trắng > Bấm phìm G > chọn kiểu tô tròn > Click kéo sẽ được hình như ý muốn.Dùng Pen tool(P) vẽ một đường dẫn . 

Bước 2:Tạo nét cọ.
Bấm phím D > bấm phím X đảo màu > chọn công cụ Brush tool (B) > bấm F5 > định dạng nét cọ cho hình.Tiếp theo bạn tạo một layer mới (Nhấn Ctrl + Shift +N).

Lúc này bạn vào Window > Path > Stroke path with brush > bạn sẽ được một tia sáng như hình vẽ.

Bước 3:Tạo các hiệu ứng cho Brush.
Chọn Layer hình vửa tạo > Vào Fitel > Blur> Gaussian blur > thiết lập cho tia sáng mờ.Bạn có thể kết hợp thêm với hiệu ứng Motion blur..,Outer Glow..

Bước 4:Tạo brush bằng AI
Bạn khởi động AI > tạo File mới > Bấm phím (P) > bỏ màu Fill và chọn màu Stroke > Click vẽ đường path như hình vẽ.

Tiếp theo bạn chọn Window > Brushes (F5) > Click vào nét cọ như hình vẽ (Bạn click chuột vào để chình sửa nét cọ tùy ý bạn).

Sau đó bạn kéo nét cọ trực tiếp từ AI sang Photoshop > Sau đó Click chuột phải vào bảng Layer chọn Rasterize layer > nhấn Ctrl + I chuyển nét cọ thành màu trắng. 

Tượng tự bạn tạo ra nhiều nét cọ khác nhau ở AI >chuyển sang Photoshop.

Bước 5:Tạo Brush phát sáng.
Bấm F7 > ở bảng Layer bạn chọn Create a new group > chuyển các layer có nét cọ ( Brush) vào nhóm vừa tạo > Chọn mode :Color dodge ( tùy hình nền mà mode chuyển đổi màu sắt khác nhau).



Bước 6:Tạo nét cọ ngẫu nhiên(Brush).
Bấm phím D > bấm phím X > Bấm B > Bấm F5 > Chọn Brush tip Shape thiết lập các tham số Spacing như hình vẽ.

Tiếp đến chọn Shape Dynamics > thiết lập tham số Size jitter

Và cuối cùng chọn Scattering > Thiết lập tham số Scatter và Count.

Sau khi thiết lập các tham số xong > bạn tao thêm một layer mới ở trong nhóm > sau đó bạn click vẽ lên bạn thấy nét cọ rất ngẫu nhiên và phát sáng các tia sáng rất tuyệt đẹp.


Bạn có thể đổi màu phát sáng khác nhau tùy theo hình nền biến đổi màu khác nhau (Nhấn Ctrl + U).

Bước 7:Trang trí hình

Lúc này bạn nên chọn một hình ảnh để trang trí cho hình nổi bật lên.Mình chọn chai nước hoa > mình đã sử lý hình nền > Đưa vào màn hình > ở đây bạn muốn cho chai nước hoa nổi bật bạn phải nhân bản lên hai layer > một bản để trong nhóm và tạo hiệu ứng phát sáng ra bên ngoài còn một bản bạn để ngoài nhóm cho hình ảnh được trong sáng hơn.Sau đó bạn chọn layer màu nền rùi nhấn Ctrl + U > đổi nhiều hình nền khác nhau ,tùy theo mỗi người sẽ thích hình mảu khác nhau, và sau đây mình đổi nhiều màu sắt khác nhau chỉ cần cái rê chuột là OK







Bạn có thể dùng Brush chọn nét cọ tùy ý rùi tạo theo layer mới trang trí hình nền cho nổi bật thêm là Ok.



Các bạn thử text nhá.
Cách rewrite url trong asp.net sử dụng UrlRewriting.Net như thế nào?
UrlRewriting.Net là một Open Source Component rất dễ dàng và đáng tin cậy để viết lại Url với ASP.Net. Component này được thiết kế và phát triển vào năm 2006 và chạy trên nền ASP.Net 2.0, tuy nhiên nó vẫn chạy tốt trên nền ASP.Net 3.5.
Yêu cầu chỉ cần một Webserver ASP.Net, ví dụ IIS (các phiên bản từ 5.0 đến 7.0)
 Sau đó kích chuột phải vào website của bạn (trên VS 2005 hoặc 2008), chọn Add Reference – trong hộp thoại hiện ra bạn chọn TAB Browse và trỏ đến file dll vừa downloat về.
 Tiếp theo là bạn cần cấu hình trong file Web.config như sau:
-          Thêm đoạn sau vào bên trong cặp thẻ đóng mở configSections
<configSections>
<section name="urlrewritingnet" requirePermission="false" type="UrlRewritingNet.Cònigurtion.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
</configSections>
-          Thêm vào trong cặp thẻ đóng mở httpModules
<httpModules>
<clear/>
<add name="UrlRewriteModule"type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
</httpModules>
 Như vậy là bạn đã cấu hình xong để có thể bắt đầu sử dụng UrlRewritingNet.
Cách của tôi là đặt ra các quy tắc (rule), trong hàm Application_BeginRequest trong file Global.asax, cho nên các bạn cũng phải add thêm file Global.asax vào trong project của mình.
Bây giờ giả sử project của chúng ta là một website bán hàng, có Categories (nhóm sản phẩm), và Products (sản phẩm), việc phân tích cơ sở dữ liệu thế nào, tôi sẽ không bàn tới trong bài viết này.
Đường dẫn thực:
Danh sách các sản phẩm trong nhóm có ID = 1: http://lichsu.vn/Categories.aspx?catid=1
Chi tiết sản phẩm có ID = 100 và CatID = 1: http://lichsu.vn/Products.aspx?catid=1&id=100
Bạn muốn viết lại thành
1)      http://lichsu.vn/1/Thoi-trang.html
2)      http://lichsu.vn/1/100/Quan-jean-ninomaxx.html
Đây là tôi ví dụ như vậy, còn tùy theo sở thích mà các bạn rewrite theo ý của mình. Để làm được như vậy trước hết các bạn phải hiểu, webserver sau khi nhận được request từ đường link (đã được rewrite), sẽ dựa vào những rule mà bạn đặt ra trong phương thức Application_BeginRequest (Global.asax)
Ví dụ với 02 trường hợp trên:
void Application_BeginRequest(object sender, EventArgs e)
{
//Khoi tao rule
UrlRewritingNet.Web.RegExRewriteRule ruleCategory = newUrlRewritingNet.Web.RegExRewriteRule();
UrlRewritingNet.Web.RegExRewriteRule ruleProduct = newUrlRewritingNet.Web.RegExRewriteRule()
//Rule – rewrite cho Products
ruleProduct.VirtualUrl = “^~/(.*)/(.*)/(.*).html”;
ruleProduct.DestinationUrl = “~/Products.aspx?catid=$1&id=$2″;
ruleProduct.IgnoreCase = true;
ruleProduct.Rewrite = UrlRewritingNet.Web.RewriteOption.Application;
ruleProduct.Redirect = UrlRewritingNet.Web.RedirectOption.None;
ruleProduct.RewriteUrlParameter =UrlRewritingNet.Web.RewriteUrlParameterOption.ExcludeFromClientQueryString;
UrlRewritingNet.Web.UrlRewriting.AddRewriteRule(“Product_Rule”, ruleProduct);
//Rule – rewrite cho Categories
ruleCategory.VirtualUrl = “^~/(.*)/(.*).html”; //1-CatID, 2-CatName
ruleCategory.DestinationUrl = “~/Categories.aspx?catid=$”;
ruleCategory.IgnoreCase = true;
ruleCategory.Rewrite = UrlRewritingNet.Web.RewriteOption.Application;
ruleCategory.Redirect = UrlRewritingNet.Web.RedirectOption.None;
ruleCategory.RewriteUrlParameter =   UrlRewritingNet.Web.RewriteUrlParameterOption.ExcludeFromClientQueryString;
UrlRewritingNet.Web.UrlRewriting.AddRewriteRule(“Category_Rule”, ruleCategory);
}
Ở đây, các bạn hãy bỏ qua các khai báo, các khởi tạo, mà hay quan tâm đến 4 dòng lệnh sau:
//Mã để rewrite 
ruleProduct.VirtualUrl = “^~/(.*)/(.*)/(.*).html”;
//1-CatID, 2-ProductID, 3-ProductName
ruleProduct.DestinationUrl = “~/Products.aspx?catid=$1&id=$2″;
Ý nghĩa của 2 dòng lệnh trên có thể diễn giải một cách nôm na như sau:
Khi gặp một url có dạng /abc/xyz/jqk.html mà trước nó là root folder thì thực tế sẽ chạy url Products.aspx?catid=abc&id=xyz(vì theo khai báo ở DestinationUrl thì catid sẽ nhận giá trị tại parameter 1, và id của sản phẩm sẽ nhận parameter ở vị trí thứ 2). Tương tự ta cũng có thể hiểu được đối với 2 dòng lệnh sau:
//Mã để rewrite 
ruleCategory.VirtualUrl = “^~/(.*)/(.*).html”; //1-CatID, 2-CatName
ruleCategory.DestinationUrl = “~/Categories.aspx?catid=$1″;
Nếu như các bạn làm đúng theo các hướng dẫn của tôi như trên, bây giờ các bạn có thể thử gõ trên thanh địa chỉ trình duyệt http://localhost:xxxx/1/Thoi-trang.html bạn sẽ thấy hiện lên nội dung của trang http://localhost:xxxx/Categories.aspx?id=1 (nếu thấy hiện ra đúng, như vậy các bạn đã đi được 1/6 quãng đường rồi :D).
Một chú ý nho nhỏ cho các bạn khi viết các quy tắc trong Global.asax
-          Đặt các khối lệnh mà trong đó rule có nhiều parameter lên phía trước, nguyên nhân, nếu đặt khối ít lên trước, thì gặp đường dẫn có nhiều parameter nhưng vẫn thỏa mãn rule ít parameter, thì nó sẽ chạy sai trang à sinh ra lỗi. Ví dụ trên tôi đã đặt rule để rewrite product lên trước.
-          Đối với các rule có số parameter bằng nhau (mỗi thằng 2, hoặc mỗi thằng 3), cố gắng truyền thêm một parameter vào một rule nào đó (mặc dù parameter đó sẽ không dùng đến). Nếu tiếp tục bằng với một rule khác, hãy sử dụng RegularExpresstion để phân biệt, hoặc các điều kiện if-else nào đó mà bạn có thể sử dụng được. Trong bài này, tôi không pro RegEx lắm nên không thể hướng dẫn các bạn được (trước có học, nhưng bây giờ thì quên gần hết).

Trong lập trình web với PHP bạn cần chú ý đến các hàm xử lý chuỗi, mảng và các hàm ngày tháng trong PHP 

Xử lý chuỗi

PHP là kịch bản được xem là tốt nhất cho xử lý chuỗi, bằng cách sử dụng các hàm xử lý chuỗi, bạn có thể thực hiện các ý định của mình khi tương tác cơ sở dữ liệu, tập tin hay dữ liệu khác.

Định dạng chuỗi

Khi xuất kết quả ra trình duyệt, bạn có thể sử dụng các định dạng chuỗi tương tự như ngôn ngữ lập trình C. Chẳng hạn, chúng ta in giá trị của biến $i trong trang dinhdang.php như ví dụ 1
Trang dinhdang.php

  <html>
<head>
<title>String Functions</title>
</head>
<body>
<h4>Dinh dang</h4>
<?php
$i=12.55;
$j=100;
echo "Total amount of order:  $i<br>";
printf("Total amount of order: %.1f", $i);
echo "<br>";
printf("Total amount of order: %.2f", $i);
echo "<br>";
printf("Total amount of order: i=%.2f, j=%.0f", $i,$j);
?>
</body>
</html>

Kết quả xuất hiện như hình 1
Định nghĩa chuỗi in
Trong đó các định dạng được chia ra nhiêu loại tuỳ thụôc vào các ký tự bạn sử dụng.
% - Không yêu cầu tham số.
b – Trình bày dạng số integer và hiện thực dưới dạng binary.
c - Trình bày dạng số integer và hiện thực dưới dạng mã ASCII.
d - Trình bày dạng số integer và hiện thực dưới dạng decimal.
e - Trình bày dạng số logic và hiện thực dưới dạng 1.2e+2.
u - Trình bày dạng số integer và hiện thực dưới dạng decimal không dấu.
f - Trình bày dạng số float và hiện thực dưới dạng số chấm động.
o - Trình bày dạng số integer và hiện thực dưới dạng hệ số 10.
s - Trình bày dạng chuỗi.
x - Trình bày dạng số integer và hiện thực dưới dạng hệ số 16 với ký tự thường.
X - Trình bày dạng số integer và hiện thực dưới dạng hệ số 16 với ký tự hoa.

Hàm chuyển đổi chuỗi

Để chuyển đổi chuỗi ra ký tự hoa thường bạn sử dụng một trong 4 hàm như ví dụ 2 trong trang chuyendoi.php:
Trang chuyendoi.php

<html>
<head>
<title>String Functions</title>
</head>
<body>
<h4>Chuyen doi</h4>
<?php
$str="Welcome to huukhang.com";
echo $str;
echo "<br>";
echo strtoupper($str);
echo "<br>";
echo strtolower($str);
echo "<br>";
echo ucfirst($str);
echo "<br>";
echo ucwords($str);
echo "<br>";
?>
</body>
</html>


Kết quả trình bày như hình 2
Chuyển đổi chuỗi

Hàm tách hay kết hợp chuỗi

Để tách hay kết hợp chuỗi, bạn sử dụng một trong các hàm thường sử dụng như strtok, explode hay substr. Chẳng hạn, chúng ta sử dụng 4 hàm này trong ví dụ 3 trong trang tachchuoi.php
Trang tachchuoi.php

<html>
<head>
<title>String Functions</title>
</head>
<body>
<h4>Tach hop chuoi</h4>
<?php
$string = "Xin chao ban da den voi huukhang.com";
$str = $string;
echo $string."<br>";
$tok = strtok($string, " ");
while ($tok)
{
echo "Word= $tok<br />";
$tok = strtok(" \n\t");
}
echo $str."<br>";
echo substr($str,24)."<br>";
$a[]=array();
$a=explode(" ",$str);
while($i=each($a))
{
echo $i["value"]."<br>";
}
?>
</body>
</html>

Kết quả trình bày như hình 3.
Trong trường hợp kết hợp giá trị của các phần tử của mảng thành chuỗi, bạn sử dụng hàm implode như ví dụ 4 trong trang kethop.php:
Trang kethop.php

<html>
<head>
<title>String Functions</title>
</head>
<body>
<h4>Ket hop chuoi</h4>
<?php
$str = "Xin chao ban da den voi huukhang.com";
$a[]=array();
$a=explode(" ",$str);
while($i=each($a))
{
echo $i["value"]."<br>";
}
$str=implode(" ",$a);
echo $str;
?>
</body>
</html>
Kết quả trình bày như hình 4.

Tìm kiếm và thay thế chuỗi

Để thay thế chuỗi, bạn sử dụng hàm str_replace, chẳng hạn trong trường hợp hợp bạn lấy giá trị từ thẻ nhập liệu, sau đó tìm kiếm nếu phát hiện dấu ‘ thì thay thế thành hai dấu nháy như trang replace.php.
Trang replace.php

<html>
<head>
<title>String Functions</title>
</head>
<body>
<h4>That the chuoi</h4>
<?php
$str="";
if (isset($txtfullname))
$str = $txtfullname;
if($str != "");
$str=str_replace("o","a",$str);
echo $str."<br>";
?>
<form action=replace.php method=post>
fullname: <input name=txtfullname value="<?=$str?>"><br>
<input type=submit value=Submit>
</form>
</body>
</html>
Khi triệu gọi trang replace.php trên trình duyệt, bạn sẽ có kết quả như sau:

Làm việc với mảng dữ liệu

Như trong bài kiểu dữ liệu chúng ta đã làm quen với kiểu dữ liệu mảng, trong phần này chúng ta tiếp tục tìm hiểu các khai báo, truy cập và tương tác với tập tin từ mảng một chiều, hai chiều.

Mảng một chiều

Để khai báo mảng một chiều, bạn có thể sử dụng cú pháp như sau:

$arr=array();
$arrs=array(5);
Truy cập vào phần tử mảng, bạn có thể sử dụng chỉ mục của phần tử như sau:


$arr[0]=1;
$arrs[1]=12;
Lấy giá trị của phần tử mảng, bạn cũng thực hiện tương tự như trường hợp truy cập mảng phần tử.


echo $arr[0];
$x=$arrs[5];
Chẳng hạn, chúng ta khai báo mảng động và mảng có số phần tử cho trước, sau đó truy cập và lấy giá trị của chúng như ví dụ trong trang arrayone.php sau:
Trang arrayone.php


<html>
<head>
<title>Array</title>
</head>
<body>
<h4>Mang mot chieu</h4>
<?php
$i=0;
$myarr=array(1,2,3,4,5,6,7);
$arr=array();
$arrs=array(10);
$arr[0]=10;$arr[1]=11;$arr[2]=12;$arr[3]=13;
for($i=0;$i<sizeof($arr);$i++)
{
echo $arr[$i]." ";
}
echo "<br>";
echo "Gia tri lon nhat ".max($arr)."<br>";
echo "Gia tri nho nhat ".min($arr)."<br>" ;
echo "Gia tri trung binh ".array_sum($arr) / sizeof($arr)."<br>" ;
echo "<br>";
for($i=0;$i<=10;$i++)
{
$arrs[$i]=10+$i;
}
for($i=0;$i<=10;$i++)
{
echo $arrs[$i]." ";
}
echo "<br>";
echo "Gia tri lon nhat ".max($arrs)."<br>";
echo "Gia tri nho nhat ".min($arrs)."<br>" ;
echo "Gia tri trung binh ".array_sum($arrs) / sizeof($arrs)."<br>" ;
?>
</body>
</html>
Kết quả trình bày như hình 6 khi triệu gọi trang arrayone.php.
Khai báo và sử dụng mảng một chiều

Mảng hai chiều

Tương tự như mảng một chiều, trong trường hợp làm việc mảng hai chiều bạn khai báo tương tự như trang arraytwo.php.
Trang arraytwo.php
<html>
<head>
<title>Array</title>
</head>
<body>
<h4>Mang hai chieu</h4>
<?php
$i=0;$j=0;
$arr=array();
$arr[0][0]=10;
$arr[0][1]=11;
$arr[0][2]=12;
$arr[1][0]=13;
$arr[1][1]=14;
$arr[1][2]=15;
$arr[2][0]=16;
$arr[2][1]=17;
$arr[2][2]=18;
for($i=0;$i<sizeof($arr);$i++)
{
for($j=0;$j<sizeof($arr);$j++)
{
echo $arr[$i][$j]." ";
}
echo "<br>";
}
echo "<br>";

$arrs=array(array(1,2,3,4,5,6,7), array(11,12,13,14,15,16,17));
 


for($i=0;$i<=7;$i++)
{
for($j=0;$j<=7;$j++)
{
$arrs[$i][$j]=10+$i*$j;
}
}

for($i=0;$i<=7;$i++)
{
for($j=0;$j<=7;$j++)
{
echo $arrs[$i][$j]." ";
}
echo "<br>";
}
echo "<br>";

?>
</body>
</html>
Khi triệu gọi trang này trên trình duyệt, kết quả trình bày như hình 7.
Mảng hai chiều

Kiểu datetime

Để làm việc với kiểu dữ liệu Date và Time, bạn sử dụng hàm của PHP có sẵn. Chẳng hạn, muốn trình bày chuỗi ngày tháng, bạn dùng hàm date với các tham số như ví dụ sau:

<html>
<head>
<title>Date and Time</title>
</head>
<body>
<h4>Ngay hien tai</h4>
<?php
echo date("j-S-F-Y");
echo "<br>";
echo date("M/Y");
echo "<br>";
echo "Days of ".date("M")." is ".date("t");
echo "<br>";
?>
</body>
</html>
  
Kết quả trả về như hình 8
Sử dụng hàm Date
Dưới đây trình bày bảng các tham số của hàm Date
Bảng các tham số của hàm date
CodeDiễn giải
aBuổi sáng/Chiều bằng hai ký tự thường am/pm.
ABuổi sáng/Chiều bằng hai ký tự hoa AM/PM.
BĐịnh dạng thời gian Swatch Internet, bạn có thể tham khảo http://swatch.com/internettime/internettime.php3.
dDay (01-31) trong tháng với hai số, nếu ngày 1-9 sẽ có kèm số 0.
DDay (Mon-Sun) trong tuần với 3 ký tự.
FTháng (January-December) trong năm với tên tháng đầy đủ dạng text.
gHour (1-12) trong ngày 1 hoặc 2 số (không kèm 0 nếu giờ từ 1-9).
GHour (0-23) trong ngày 1 hoặc 2 số (không kèm 0 nếu giờ từ 0-9).
hHour (01-12) trong ngày 2 số (kèm 0 nếu giờ từ 01-09).
HHour (00-23) trong ngày 2 số (kèm 00 nếu giờ từ 00-09).
iMinutes (01-59) đã trôi qua (kèm 00 nếu phút từ 00-59).
jDay (1-31) 1 hoặc 2 số (không kèm 0 nếu ngày từ 1-9).
lDay (Monday-Sunday) trong tuần dạng text.
LNăm nhuần trả về 1, ngược lại hàm trả về 0.
mMonth (01-12) trong năm 2 số (kèm 00 nếu tháng từ 01-09).
MMonth (Jan-Dec) trong năm 3 ký tự.
nMonth (1-12) 1 hoặc 2 số (không kèm 0 nếu tháng từ 1-9).
sSeconds (01-59) đã trôi qua (kèm 00 nếu giây từ 00-59).
SThêm hai ký tự st, nd, rd hay th theo sau ngày dạng hai ký tự số (ví dụ như 12th).
tTrả về tổng số ngày trong tháng (từ 28 -31).
TKý tự Timezone của server với 3 ký tự, chẳng hạn như EST.
UTổng số Seconds tứ 1 January 1970 tới hôm nay ứng với UNIX Time Stamp.
wDay (0-6) của tuần, 0 ứng với Sunday và 6 ứng với Saturday.
yNăm định dạng 2 con số (03).
YNăm định dạng 4 con số (2003).
zNgày trong năm một hoặc 2 con số (0-365).
XTimezone hiện tại tính bằng giây từ –43200 đến 43200.

Kết Luận

Trong bài này, chúng ta tập trung tìm hiểu xử lý chuỗi, mảng và hàm ngày tháng. Trong bài tiếp, chúng ta tiếp tục tìm hiểu cơ sở dữ liệu mySQL.
Ai học công nghệ thông tin không thể nào không bít loop đây là cấu trúc vòng lặp. Vậy vòng lặp trong Wordpress có gì khác với bình thường và loop WordPress chúng ta sẽ sử dụng chúng như thế nào…Các bạn học wordpress chắc cũng đã rõ vậy còn các bạn mới học thì sao?
Bài viết trong cơ sở dữ liệu bây giờ chúng ta sẽ code để lấy hiển thị ra bên ngoài giao diện, cách thông thường là phải xài cấu trúc lặp, chúng ta sẽ duyệt từ dòng trong bảng dữ liệu và hiển thị ra ngoài.
Loop trong WordPress
Muốn làm được điều này WordPress có cung cấp cho chúng ta một cấu trúc lặp để sử dụng, chúng ta demo lấy dữ liệu đổ rea trang chủ (index) ta làm như sau.
Vào thẻ div content màà đã khai báo lúc trước index.php trong theme wordpress và gõ đoạn code sau vào.
1
2
3
4
5
6
7
8
9
<!--
<div id="content" role="<span class="ua48gp" id="ua48gp_6" style="font-weight: bold; height: 12px;">main</span>">
     <?php if (have_posts()) : ?>
               <?php while (have_posts()) : the_post(); ?>
                    nội dung hiển thị ...
               <?php endwhile; ?>
     <?php endif; ?></div>
<!-- #content -->
-->
Giải thích:
  • have_posts(): Là hàm kiểm tra có bài viết có tồn tại hay không.
  • the_post(): Chịu trách nhiệm gọi tất cả các bài viết trong post.
Đây là thư viện của WordPress bạn xài wordpress thì phải chấp nhận nó không cách nào khác. Và hiển nhiên tất cả các hàm này chỉ xài trong môi trường WordPress thôi mang ra ngoài thì pohand chạy được.
Hiển thị chi tiết trong Loop WordPress
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!--
<?php if (have_posts()) : ?>
     <?php while (have_posts()) : the_post(); ?>
          <h2 id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
           Tác giả: <?php the_author(); ?>
           Ngày đăng: <?php the_date(); ?>
           <?php the_content('Đọc típ...'); ?>
           //<?php the_excerpt(); ?>
           Bài viết trong: <?php the_category(', '); ?>
           <?php the_tags(); ?>
           <hr />
      <?php endwhile; ?>
<?php endif; ?>
-->
Giải thích các hàm:
  • the_ID(): Giúp lấy id bài post để vào đây.
  • the_author(): Hàm lấy tên tác giả viết bài.
  • the_date(): Hàm lấy ra ngày đăng bài.
  • the_permalink(): Hàm lấy ra link đến chi tiết bài post.
  • the_title(): Hàm lấy tiêu đề bài post.
  • the_content(‘Đọc típ…’): Lấy ra nội dung bài viết.
  • the_excerpt(): Hàm lấy ra tóm tắt bài viết.
  • the_category(): Xuất ra danh sách các thể loại của bài viết.
  • the_tags(): Hàm lấy ra các tags trong bài viết.
Cũng nói lại là các hàm này chỉ xài trong WordPress. 
Lúc này khi đã gõ các thành phần trên lên index.php của bạn thì sẽ thấy nội dung. Bạn cứ test để bít. Lúc này có bao nhiêu bài viết thì sẽ được lặp ra hết và sắp xếp từ mới đến củ.
Kết luận:
Đến đây là xong phần loop, phần này còn nhiều thứ để nói, ngoài post của wordpress hỗ trợ ra bạn có thể viết thêm truy vấn và cho vào loop này và hiển thị chúng theo ý hình.