Tạo trang hỏi đáp chuyên nghiệp cho WordPress

1 Tạo trang hỏi đáp chuyên nghiệp cho WordPress

Download plugin: Download here

Demo: http://blog.trustcard.vn/faqs

Đây là plugin tạo trang Hỏi-Đáp hay knowledge base để độc giả search nhanh.

Submit các câu hỏi-đáp đơn giản như  đăng một bài viết mới. Các chức năng tiêu biểu:

Phân nhóm câu QAs: Gom các câu hỏi vào chung 1 nhóm category

Chức năng tìm kiếm trên trang: Thanh search để lọc từ khóa trên trang

Short code để chèn trang hỏi đáp, paste code này [qa] vào trang là hoàn tất

 

  1. A single FAQ category page.

 

 Tạo trang hỏi đáp chuyên nghiệp cho WordPress

 

2.The plugin settings page.

 

 Tạo trang hỏi đáp chuyên nghiệp cho WordPress

3.The FAQ entry page.

 

Nguồn :http://www.thuthuatwordpress.com/

Posted in Khóa học thiết kế website tại Hà Nội bằng wordpress | Leave a comment

2 công cụ tự tạo code cho WordPress

WordPress” href=”http://360.edu.vn/files/2013/06/tu-tao-code-wp.jpg” rel=”lightbox[8285]”>tu tao code wp 2 công cụ tự tạo code cho WordPress

Hi cả nhà! Chào mừng cả nhà đến với chuyên mục mới trên blog mình với tên gọi WordPressDevelopment. Nghĩa là sao? Mình sẽ viết cái giống gì trong đây? Nói nôm na đơn giản là chuyên mục này để mình lưu trữ lại các bài viết chuyên sâu về WordPress cho những ai có nhu cầu tìm hiểu về các vấn đề về WordPress nâng cao như làm việc với WordPress Codex, lập trình plugin hay phát triểntheme WordPress.

Do mình không biết bắt đầu chuyên mục này từ đâu nên mình tạm mở đầu bằng bài viết giới thiệu 2 công cụ tự tạo code cho WordPress. Sở dĩ mình viết trước là vì bất kỳ ai trong chúng ta khi làm việc với code WordPress thì việc lưu lại, ghi nhớ các hàm, tham số trong WordPress luôn là việc làm cần thiết. Mặc dù là ghi nhớ hẳn hoi nhưng đến lúc làm việc thì cũng phải khá chật vật hoặc mất công ghi lại vì mỗi dự án chúng ta có thể viết lại các đoạn code khác nhau. Vì vậy, các công cụ sinh mã luôn là một trợ đắc lực cho các nhà phát triển WordPress, dù là newbie hay bờ rồ.

 

1. Công cụ tự sinh code cho hàm WP_Query

lightbox[8285]”>wp query generator 2 công cụ tự tạo code cho WordPress

WP_Query() có thể được gọi là hàm phổ biến và hay sử dụng nhất trong các dự án phát triển theme vì nó có công dụng lấy các dữ liệu trong một post type nào đó để hiển thị ra ngoài theme (như hiển thị bài viết thông thường chẳng hạn). Dĩ nhiên, thói quen của đại đa số các WordPress Developer là luôn tạo mới hàm WP_Query và gắn cho nó các dữ liệu riêng trên từng khu vực hiển thị, điều này đồng nghĩa là chúng ta phải viết lại khoảng 5, 6 dòng cho hàm này khá là nhiều lần.

Vì vậy nếu bạn đỡ muốn mất thời gian để ngồi mổ cò thì WordPress Query Generator là một sự lựa chọn tối ưu. Thay vì bạn phải tự gõ, thì chỉ cần truy cập vào trang chủ của họ và chọn các giá trị mảng cần thiết như post_typepost_statusposts_per_page,…. và nó sẽ tự sinh ra cho bạn một đoạn mã khá rõ ràng và dễ đọc.

2. Bộ công cụ tự sinh code cho WordPress

Vào một ngày gần đây thì mình vô tình được bác Ngô Xuân Trường giới thiệu đến công cụ tự tạocode khá là hay mà mình cảm thấy nó đáng giá hơn rất nhiều plugin hỗ trợ develop trên WordPress miễn phí lẫn trả phí, đó là bộ công cụ WP Generator.

Thay vì chỉ hỗ trợ tự sinh code về một hàm duy nhất như WP Query Generator ở trên thì bộ công cụ này hỗ trợ bạn tự tạo code với 8 tính năng phổ biến nhất khi xây dựng theme và plugin như:

  • wp_config.php – Hỗ trợ chỉnh sửa file wp_config.php nhanh chóng mà không cần ngồi mò code.
  • Taxonomy – Tự sinh code tạo một custom taxonomy theo yêu cầu trong vòng 30 nốt nhạc. Đọc bài custom post type của mình bạn sẽ thấy đoạn code tạo custom taxonomy nó chuối thế nào.
  • Post Type – Đã có taxonomy thì làm sao thiếu post type được nhể, bộ công cụ này cũng hỗ trợ bạn tự tạocode để tạo một custom post type như ý.
  • Post Status – Hàm register_post_status() được dùng để tạo thêm một định dạng trạng thái bài viết bổ sung cho các trạng thái mặc định (Draft, Publish,..) và bạn có thể tùy chỉnh các tham số trong trạng thái này. Với WP Generator, chỉ cần bạn tùy chọn các thông số thông qua bảng menu dropdown là bạn có ngay một đoạn code tạo trạng thái bài viết rất đầy đủ.
  • Sidebar – Sinh code tạo sidebar cho WordPress trong 3 nốt nhạc.
  • Menus – Tôi có thể tạo một menu WordPress với WP Generator trong vòng 2 nốt nhạc.
  • Theme Supports – Tôi có khả năng thêm các tính năng nổi bật có sẵn vào theme WordPress trong vòng 1 nốt nhạc.
  • Shortcodes – Với WP Generator, tôi có thể tự tạo một shortcode cho WordPress mà chẳng cần nốt nhạc nào (loa bị hư rồi ạ).

Lời kết

Dù là một công cụ tự sinh code tối ưu như thế nào thì công đoạn cuối bạn vẫn phải làm là sử dụng các đoạn code tự sinh này như thế nào, và đó là lý do mà bạn cũng không nên lạm dụng với các công cụ này quá nhiều, nhất là người mới tìm hiểu về WordPress Codex.

Do đây là một vấn đề mới trên blog nên sẽ khiến nhiều người chưa quen, vì vậy mình sẵn sàng support chi tiết nhất có thể nếu như bạn vẫn còn thắc mắc.

Nguồn : http://thachpham.com

Posted in Khóa học thiết kế website tại Hà Nội bằng wordpress | Leave a comment

Chèn like facebook, google plus, Twitter Button vào website / blog

1. Tạo Facebook Like Button

Vào đề luôn cho mau, để tạo được button like bạn vào địa chỉ:http://developers.facebook.com/docs/reference/plugins/like/ kéo xuống đoạn giữa gặp một đống các tùy chọn để tạo ra button like face bạn khai báo các thông tin cần thiết cho nó: 1 Chèn like facebook, google plus, Twitter Button vào website / blog

Like Button Facebook cho website Bạn thay đổi các tùy chọn đó và xem demo sao cho vừa ý, hiển nhiên là trước đó bạn đã tạo một trang trong facebook rồi, giống như face của bcdonline.net chẳng hạn. Tiếp đến bạn get code và làm theo hướng dẫn của nó.

22 Chèn like facebook, google plus, Twitter Button vào website / blog

Get code Like Facebook Button Khi get code có nhiều lựa chọn cho bạn lấy code để vào trong website: HTML5, XFBML, IFRAME, Đường Dẫn URL. Tùy vào mức độ bạn tùy chỉnh mà có hỗ trợ hết các kiêu đó hay không tuy nhiên trong đó IFRAME là dễ sử dụng nhất bạn chỉ việc để vào nơi mà bạn muốn hiển thị trong site.

2. Thêm nút Google + 1 vào website

Đây là nút dễ làm nhất trong 3 button mình giới thiệu trong bài này, các bạn vào các website bây giờ hầu hết đều có nút này vì ai cũng muốn web mình sẽ xuất hiện ở kết quả tìm kiếm của google càng nhiều +1 thì độ tin cậy càng cao. Đầu tiên bạn vào đường link: http://www.google.com/intl/vi/webmasters/+1/button/ ở đây có nhiều tùy chọn cho bạn và kết quả demo giống như facebook like button.

 

3 Chèn like facebook, google plus, Twitter Button vào website / blog

 

Tùy chon trong Google plus 1 website Sau đó bạn nhìn xuống bên dưới có đoạn code và bạn làm theo chú thích phía trên mỗi đoạn code.

// Đặt cuộc gọi hiển thị này ở nơi thích hợp
<script type=”text/javascript”>
(function() {
var po = document.createElement(‘script’); po.type = ‘text/javascript’; po.async = true;
po.src = ‘https://apis.google.com/js/plusone.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(po, s);
})();
</script>
–>
1
2
3
4
5
6
7
8
9
10
11
12
13
<!–
// Đặt thẻ này ở nơi bạn muốn nút +1 hiển thị
<g:plusone></g:plusone>
// Đặt cuộc gọi hiển thị này ở nơi thích hợp
<script type=”text/javascript”>
  (function() {
    var po = document.createElement(‘script’); po.type = ‘text/javascript’; po.async = true;
    po.src = ‘https://apis.google.com/js/plusone.js’;
    var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(po, s);
  })();
</script>
–>

 

Cơ bản như thế là đã được nút +1 của google rồi, bạn để đoạn trên ở nơi muốn hiển thị, đoạn thứ 2 vào trong thể head của website mình. Ngoài ra còn có một số tùy chỉnh nâng cao bạn tham khảo thêm nha!

3. Tạo Twitter Button

Cũng như Facebook và Google +,  Twitter là một trong những mạng xã hội lớn đáng được quan tâm, các doanh nhân, người nổi tiếng, ban nhạc hay doanh nghiệp… đều có sử dụng Twitter. Website của bạn muốn có button share Twitter ban truy cập vào địa chỉ:https://twitter.com/about/resources/buttons chọn kiểu hiển thị button twitter.

Chon Twitter Button Chèn like facebook, google plus, Twitter Button vào website / blog

 

Chọn Twitter Button Tiếp theo nhập và các thông tin cần thiết và get code để vào mơi muốn hiển thị button twitter như hình sau.

Khai bao thong so va get code lay Twitter Button Chèn like facebook, google plus, Twitter Button vào website / blog

Posted in Khóa học thiết kế website tại Hà Nội bằng wordpress, Tự học wordpress, Thiết kế web bằng wordpress chuyên nghiệp | Leave a comment

WordPress SEF URL – Loại bỏ kí tự tiếng việt trong url

Một vấn đề mà khi lám SEO cho blog wordpress chúng ta rất đau đầu đó là phần url của blog wordpess luồn tồn lại những kí từ tiếng việt, dạng như thế này:

http://www.onemax.tv/2009/05/b%e1%ba%a3n-ki%e1%bb%83m-di%e1%bb%83m/

lý do là vì cấu hình của wordpress không có chức năng tự chuyển đổi các từ tiếng việt về kí tự latinh dạng như Â = a.

Friendly URL được giải quyết rất gọn gàng trong joomla và drupal, những wordpress thì không, đây có lẻ là 1 điểm yếu của wordpress.

Vấn đề này nếu không được giải quyết ngay từ đầu thì chắc chắn bạn sẻ tốn rất nhiều thời gian về sau, hoặc là phải trọn luôn giải pháp cho hiển thị url kiêu như vậy và bỏ qua phần tối ưu hóa url cho SEO này.

Qua quá trình tìm hiểu và được sự giúp đỡ của bác vunamhung bên hutek.info thì đã có 1 plugin của bác onetruebrace viết, nhằm hỗ trợ chức năng loại bỏ các kí tự tiếng việt này.

Plugin tên là Nicer permalinks for Vietnamese

Việc cài đặt tương đối đơn giản, chỉ cần upload file np4v.php lên thư mục /wp-content/plugins/ sau đó kích hoạt plugin này trong admin cpanel.

Lưu ý plugin này chi hoạt động đối với những bài viết được viết sau khi đã cài đặt plugin, những bài viết cũ sẻ được liệt vào 404 , các bạn nên lưu ý cài đặt plugin này đầu tiên nhé.

Cảm ơn bác quanganhdo đã viết ra plugin này.

Minh Đại – SEO Việt Nam

Posted in Khóa học thiết kế website tại Hà Nội bằng wordpress, Tự học wordpress, Thiết kế web bằng wordpress chuyên nghiệp | Leave a comment

Thủ thuật bảo mật cho blog wordpress

Công cụ Blog WordPress như các bạn đã biết rất được yêu chuộng từ cấu trúc, trình bày đến bảo mật. Tuy cộng đồng người sử dụng và lập trình viên rất đông trên toàn cầu, nhưng vẫn không thể tránh khỏi những lỗi bảo mật nhất là khi bạn không nâng cấp kịp thời những lỗi được công bố từ WordPress và các plugins của chúng.

Và hacker thường là những người nhanh tay hơn vì đó là mục đích của họ. Trong bài viết này tôi sẽ chia sẻ với các bạn vài mẹo nhỏ để tăng cường đôi chút bảo mật cho Blog cá nhân của chính mình.

Loại bỏ Meta Tag phiên bản WordPress

Ngầm định, rất nhiều themes WordPress sử dụng Meta Tag xác định phiên bản đang sử dụng trên blog các nhân. Việc này giúp ích cho nhãn hiệu của công cụ blog và giúp cho việc thống kedeex dàng hơn. Nhưng Hacker hay Spamer có thể lợi dụng chúng để xác định nhanh chóng các lỗi tồn tại và cách thức khai thác. Các bạn không nên giữ dòng Meta Tag này.

 

Để loại bỏ, bạn vào trong Wp-Admin/Presentation/Edit Theme/Edit Header.php/Bỏ dòng sau :

bao mat wordpress Thủ thuật bảo mật cho blog wordpress

&lt;meta content="WordPress &lt;?php bloginfo('version'); ?&gt;"
name="generator" /&gt;

Chặn truy cập thư mục

Cách này nhằm tránh những người có chủ tâm không tốt khai thác thông tin về blog của bạn, rồi dùng thâm tin đó để dò lỗi và khai thác. Rất nhiều nhà cung câp dịch vụ Hosting hay Webmaster để ngầm định chế đọ cho phép xem trang index của thư mục. Tuy nhiên, bạn nên loại bỏ khả năng xem nội dung thư mục trong phần code của WordPress (Disable Access to your Directory Indexes) bằng cách tạo một file .htaccess với nội dung như sau trong thư mục gốc của Blog WordPress của bạn :

Options -Indexes

Một cách khác cũng khá đơn giản, là tạo một file index.php trắng hay một file index.html trong thư mục quan trọng như Plugins chẳng hạn.

Hạn chế truy cập wp-admin

Một trong những cách hacker đoạt quyền điều khiển là thông qua công cụ quản trị. Thay vì cho bất kể ai cũng có thể đăng nhập với tên và mật mã admin và phần quản trị thì bạn có thể hạn chế với một số IP nhất định. Để làm việc này, bạn cần tạo một tệp tin htaccess dạng như sau trong thư mục gốc của blog WordPress :

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "vietSEO Access Control"
AuthType Basic
order deny,allow
deny from all
allow from 1.1.1.2
allow from 1.1.1.3

Trong phần trên bạn chỉ cho phép IP đến từ các địa chỉ 1.1.1.2 và 1.1.1.3 kết nối đến thư mục /wp-admin/ bạn hãy thay thế nó bằng IP tương ứng của mình.

Bạn cũng có thể kết hợp với plugin của Michael’s Login Lockdown plugin cho phép hạn chế khả năng hack mật khẩu người dùng bằng cách thử lặp hay từ điển. Nếu nhập sai mật khẩu một số lần nhất định, nó sẽ khóa IP đó trong vòng một thời gian 1 tiếng theo cấu hình ngầm định.

Mẹo vặt: Bạn có thể chỉ định cho các công cụ tìm kiếm không đánh chỉ mục nội dung thư mục /wp-admin/ bằng cách thêm vào dòng lệnh sau vào trong file robots.txt của blog tại thư mục gốc.

Disallow: /wp-admin/

Theo dõi cập nhật thường xuyên

Bạn hãy bỏ chút thời gian theo dỗi các thông báo mới nhất từ nhóm phát triển WordPress hoặc đăng ký luồng tin RSS của nhóm tại đây

Ngoài ra Plugin “The WordPress Automatic Upgrade Plugin” sẽ giúp bạn nâng cấp phiên bản blog một cách an toàn và đơn giản hơn.

Posted in Khóa học thiết kế website tại Hà Nội bằng wordpress, Tự học wordpress | Leave a comment

Hướng dẫn làm sitemap cho website

Ở một bài viết trước tôi đã giới thiệu cho các bạn cách làm sitemap cho yahoo và sitemap của google cho wordpress, những định nghĩa về sitemap cũng đã được giới thiệu. Nhưng tối qua có bạn hỏi về cách làm sitemap cho 1 website bất kì ko phải là mã nguồn mở như joomla,wordpress hay drupal (những mã nguồn này đều có plugin để tự cập nhật sitemap). Hôm nay tôi sẻ hướng dẫn các bạn cách làm sitemap cho 1 website.

Điều kiện cần:

1. Website (nói cho vui thui^^)
2. Notepad ++ , down ở đây.
3. Internet (mạng mạnh 1 chút cho các website lơn gần 500 hoặc hơn 500 trang)

Minh sẻ hướng dẫn các bạn làm sitemap cho những website dưới 500 trang trước nha. Trên 500 trang thì tính sau

Có rất nhiều phần mên hỗ trợ làm sitemap, nhưng ở đây minh sẻ hướng dẫn cách làm sitemap bằng những dịch vụ free trên mạng internet.

Bước 1: Vào web http://www.xml-sitemaps.com (web này là uy tín nhất về việc làm sitemap), khuyến kích sử dụng trình duyệt web firefox.

– Điền domain website của bạn vào: Starting Url (chú ý redirect nhá)
– Chọn thông số Frequensy
– Tại Priority: bạn có 2 lựa chọn là tự động thiết lập hoặc thiết lập bằng tay. (auto cho nó nhanh)
Click: Start
Chờ cho nó chạy song, web đơn gian thì nhanh, mà phức tạp thì hơi lâu đây.
Khi chạy song bạn sẻ nhận được 1 list các file sitemap, nhưng bạn chỉ cần chú ý đến 4 file sau: sitemap.xml, ror.xml, sitemap.html và urllist.txt

Bước 2: Down 4 file ở trên về máy.
– Sử dụng notepad ++ mở file sitemap.xml đẻ set thông số Priority cho các url theo ý bạn.
Lưu ý phần này: thông số Priority quy định sự quan trong của các url đối với website của bạn, nếu Url nào quan trọng nên cho nó cao điểm hơn, cao nhất là 1.0 và thấp nhất 0.10

Bước 3: Upload lên root web và verify sitemap .

Xong icon biggrin Hướng dẫn làm sitemap cho website

Minh Đại – SEO Việt Nam

Posted in Khóa học thiết kế website tại Hà Nội bằng wordpress, Tự học wordpress | Leave a comment

Timthumb & featured image trong wordpress

Trong bài viết này mình sẽ hướng dẫn các bạn kết hợp giữa timthumb và featured image để tạo ra những hình ảnh thumbnail hay sử dụng trong bài viết với kích thước có thể tùy chỉnh một cách thoải mái.

TIMTHUMB.PHP

Đây là một mã nguồn mở PHP với chức năng là crop và scale hình ảnh với các định dạng phổ biến như (JPG, PNG, GIF). Timthumb rất dễ dàng để sử dụng cho blog, website và một vài ứng dụng khác. Timthumb được phát triển bới Tim và Darren Hoyts, và nó đã liên tục nâng cấp các phiên bản để chữa lỗi, và thêm các tính năng mới.

Cách hoạt động: timthumb cung cấp cho bạn một function có sẵn, bạn chỉ việc cung cấp các tham số và nó sẽ tự động thay đổi kích thức ảnh của bạn một cách tự động.
Timthumb đang được sử dụng rộng rãi đặc biệt là các nhà phát triển website trên nền CMS WordPress.

CÁCH SỬ DỤNG TIMTHUMB.PHP

Điều đâu tiên mà bạn cần làm đó là phải download file timthumb.php về máy của mình để sử dụng. Bạn có thể download tại đây: http://timthumb.googlecode.com/svn/trunk/timthumb.php

Sau đó để có thể sử dụng nó bạn phải có 1 cái localhost để chạy php. Và bạn cần 1 tấm hình để có thao tác được với các chức năng đơn giản của timthumb. Và cuối cùng là một tạo folder cache nằm cùng cấp với file timthumb.php.

6683562063 0329f94451 z Timthumb & featured image trong wordpress

Cấu trúc của timthumb thì như thế này:

<img src="timthumb.php?src=link_hinh_anh.jpg&amp;w=300&amp;h=300&amp;q=50" />

Giải thích các kí hiệu:

  • link_hinh_anh.jpg – đường dẫn hình ảnh theo định dạng http://domain.com/hinhanh.jpg
  • w=300 – tức là width (chiều dài) của ảnh bằng 300px
  • h=300 – tức là height (chiều cao) của ảnh bằng 300px
  • q=50 – tức quality (chất lượng) của ảnh bằng 50% so với ảnh góc.

6683660901 e2d68e0e0d z Timthumb & featured image trong wordpress

Tuy nhiên các bạn cũng có thể không cần phải dùng hết cả các tham số truyền ở trên.
– Nếu chỉ có width không thì nó sẽ tự động scale height hình cho hợp với chiều dài của hình và ngược lại.

<img src="timthumb.php?src=link_hinh_anh.jpg&amp;w=300" />
Nếu bạn để cả height và width thì nó sẽ vừa scale và crop hình của bạn lại cho phù hợp với width và height mà bạn chọn.
<img src="timthumb.php?src=link_hinh_anh.jpg&amp;w=300&amp;h=300" />

– Nếu các bạn ko để cả width height và quality thì nó sẽ để mặc định là width:100px; height:100px; quality:90%. Các bạn cũng có thể tìm và tùy chỉnh trong file timthumb.php các chỉ số mặc định trên.

<img src="timthumb.php?src=link_hinh_anh.jpg" />
TIMTHUMB.PHP & FEATURED IMAGE

6683640595 8e64e06b94 z Timthumb & featured image trong wordpress

Trước tiên, bạn phải bật chức năng Featured Image bằng cách vào file functions.php của wordpress và thêm đoạn code sau:

add_theme_support( 'post-thumbnails' );

Sau đó là chúng ta sẽ viết 1 hàm để lấy link của file Featured Image mà chúng ta add vào bài viết.

functionget_featured_img($post_id){
$img_id= get_post_thumbnail_id($post_id); // lấy id của hình
$images=wp_get_attachment_image_src( $img_id, false, false ); // lấy link hình featured
return$images[0]; // 0: link hình ; 1: width ; 2: height
}
Tiếp theo, chúng ta sẽ viết thêm 1 hàm nữa để sử dụng timthumb với các tùy chỉnh width; height; quality; alt
functionthumb_img($post_id,$h,$w,$q,$alt){
echo'<img align="middle" src="';
echobloginfo('template_url');
echo'/timthumb.php?src='.get_featured_img($post_id).'&amp;h='.$h.'&amp;w='.$w.'&amp;q='.$q.'" alt="'.$alt.'" />';  
}
Cuối cùng, để sử dụng thì chỉ việc gọi function thumb_img() ra thôi.
Ví dụ như trong vòng lập Loop ở file single.php hay index.php thì chúng ta có thể gọi nó ra như thế này:
<?php $my_query= newWP_Query('posts_per_page=10');
if( have_posts() ) : while($my_query->have_posts()) : $my_query->the_post(); ?>
<?php thumb_img($post->ID,'670','150','70',get_the_title()); ?>
// $post->ID tương ứng với post id của bài viết.
// 670 tương ứng với chiều dài.
// 150 tương ứng với chiều cao.
// 70 tương ứng với chất lượng hình ảnh.
// get_the_title() lấy title của bài viết
<?php endwhile; else: ?>
<?php endif; ?>
Vậy là chúng ta đã hoàn thành việc sử dụng featured image và timthumb. Hi vọng các bạn sẽ làm được thành công. Ngoài ra còn các các cách khác để sử dụng featured image làm thumbnail
Chúc các bạn thành công!
Posted in Học wordpress cơ bản, Khóa học thiết kế website tại Hà Nội bằng wordpress, Tự học wordpress, Thiết kế web bằng wordpress chuyên nghiệp | Tagged , , | Leave a comment