معرفی تابع های وردپرس-قسمت اول

  • خانه
  • معرفی تابع های وردپرس-قسمت اول
Image تحقیقات

معرفی تابع های وردپرس-قسمت اول

با سلام خدمت دوستان عزیز

تصمیم گرفتن ازآموزش های وردپرس رو شروع کنم.

تو این جلسه میخوام تابع هایی که به نظر مفیدتر و پر استفاده تر هستند رو معرفی کنم.و در آینده این توابع رو بیشترمعرفی خواهم کرد.

نظراتتون رو مثل همیشه برام بزارید.

اگه تابع های دیگری هم هستند که از نظر شما مفید اند حتما در نظرات بهش اشاره کنید تا در قسمت های بعدی آموزش , به معرفی اون ها بپردازم.

مرسی

تابع های این جلسه :

۱- تابع get_post_type_object
۲- تابع get_the_ID
۳- تابع the_ID
۴- تابع  the_title
۵- تابع  get_the_title
۶- تابع get_post
۷- تابع get_posts

۱- تابع get_post_type_object

این تابع لیست کاملی از خصوصیات اون Post type مورد نظر به ما میده

$obj = $wp_post_types['post'];
var_dump( $obj);

خروجی :

stdClass Object
(
   [labels] => stdClass Object
       (
           [name] => Posts
           [singular_name] => Post
           [add_new] => Add New
           [add_new_item] => Add New Post
           [edit_item] => Edit Post
           [new_item] => New Post
           [view_item] => View Post
           [search_items] => Search Posts
           [not_found] => No posts found
           [not_found_in_trash] => No posts found in Trash
           [parent_item_colon] => 
       )

   [description] => 
   [publicly_queryable] => 1
   [exclude_from_search] => 
   [_builtin] => 1
   [_edit_link] => post.php?post=%d
   [capability_type] => post
   [hierarchical] => 
   [public] => 1
   [rewrite] => 
   [query_var] => 
   [register_meta_box_cb] => 
   [taxonomies] => Array
       (
       )

   [show_ui] => 1
   [menu_position] => 
   [menu_icon] => 
   [permalink_epmask] => 1
   [can_export] => 1
   [show_in_nav_menus] => 1
   [name] => post
   [cap] => stdClass Object
       (
           [edit_post] => edit_post
           [edit_posts] => edit_posts
           [edit_others_posts] => edit_others_posts
           [publish_posts] => publish_posts
           [read_post] => read_post
           [read_private_posts] => read_private_posts
           [delete_post] => delete_post
       )

   [label] => Posts
)

 

۲- تابع get_the_ID

این تابع Id پست جاری رو به ما میده.

بهتر است در داخل حلقه استفاده شود.

 

یا مثلا می توانید برای ساخت لیست های بازشونده که دارایId منحصر به فرد باشن از این تابع هم کمک بگیرید

 

یا مثلا میتوانید Id پست رو در یک input از نوع hidden ذخیره کنید و بعدا ازش استفاده کنید

';
?>

۳- تابع the_ID

این تابع هم مانند تابع قبلی Id پست رو چاپ میکند.

تفاوت این تابع با تابع قبلی در این است که این تابع id رو اتومات چاپ میکنه و نیازی به echo نیست ولی از تابع قبلی زمانی استفاده می شود که بخواهیم مقدار id را داخل یک متغیر بریزیم و عملیات لازم رو روش انجام بدیم و نیازی به چاپ نداشته باشیم.

Post Number:

در مثال زیر به تگ h3 آیدی منحصر به فرد درست کردیم با استفاده از the_id

 

بهتر است این تابع هم در حلقه استفاده شود.

۴- تابع  the_title

از این تابع برای نمایش یا برگرداندن عنوان پست استفاده می شود.

 

 

۳ پارامتر دارد :

اولی : مقدار متنی یا تگی که قبل از عنوان نمایش داده خواهد شد.

دومی : مقدار متنی یا تگی که بعد از عنوان نمایش داده خواهد شد.

سومی : مشخص میکند عنوان را چاپ کند (true) یا فقط برگرداند و مثلا در یک متغییرقرار دهد (false).

 

۵- تابع  get_the_title

این تابع مانند تابع قبلی است ولی با این تفاوت که تایتل را برمیگرداند ولی چاپ نمیکند.برای چاپ باید از echo استفاده کرد.

 

اگر ID را وارد کنیم. تایتل پستی را می آورد که این ایدی را داشته باشد و اگر ID را خالی بگذاریم تایتل پست جاری را می آورد.

 

مثالی دیگر : ساخت یکbreadcrumb

۶-  تابع get_post

این تابع تمام جزییات یک پست رو به ما میدهد. اگر پارامتر این تابع که یک Id است رو خالی بزاریم , اطلاعات پست جاری رو برمیگرداند به عنوان یک object و اگر id رو خودمون مشخص کنیم تمام اطلاعات اون پست رو برمیگرداند.(مانند نام پست – نام نیسنده – تاریخ ایجاد پست و ..)

به عنوان مثال تمام اطلاعات پستی که id اون ۱ هست رو برمیگردانیم

 

وخروجی :

object(WP_Post)#1923 (24) {
  ["ID"]=>
  int(1)
  ["post_author"]=>
  string(1) "1"
  ["post_date"]=>
  string(19) "2015-02-21 20:27:54"
  ["post_date_gmt"]=>
  string(19) "2015-02-21 20:27:54"
  ["post_content"]=>
  string(209) "به وردپرس خوش آمدید.‌این نخستین نوشته‌‌ی شماست. می‌توانید ویرایش یا پاکش کنید و پس از آن وبلاگ نویسی را آغاز کنید!"
  ["post_title"]=>
  string(18) "سلام دنیا!"
  ["post_excerpt"]=>
  string(0) ""
  ["post_status"]=>
  string(7) "archive"
  ["comment_status"]=>
  string(4) "open"
  ["ping_status"]=>
  string(4) "open"
  ["post_password"]=>
  string(0) ""
  ["post_name"]=>
  string(49) "%d8%b3%d9%84%d8%a7%d9%85-%d8%af%d9%86%db%8c%d8%a7"
  ["to_ping"]=>
  string(0) ""
  ["pinged"]=>
  string(0) ""
  ["post_modified"]=>
  string(19) "2015-02-28 21:19:34"
  ["post_modified_gmt"]=>
  string(19) "2015-02-28 21:19:34"
  ["post_content_filtered"]=>
  string(0) ""
  ["post_parent"]=>
  int(0)
  ["guid"]=>
  string(31) "http://localhost/wordpress/?p=1"
  ["menu_order"]=>
  int(0)
  ["post_type"]=>
  string(4) "post"
  ["post_mime_type"]=>
  string(0) ""
  ["comment_count"]=>
  string(1) "5"
  ["filter"]=>
  string(3) "raw"
}

 

مثال : برگرداندن نام پستی که id اون ۷ است :

 

می توانیم تعیین کنیم که خروجی به جای object , آرایه ای باشد.

 

 

۷- تابع get_posts

این تابع پست هایی با شرایطی که ما تعیین می کنیم را می آورد.

شرط ها همه در یک آرایه جمع میشود و به عنوان پارامتر به تابع می دهیم.

 

 

مثال :

نمایش ۵ پست به صورت رندوم

 

مثال :

چاپ پست هایی که دارای   Taxonomy خاصی هستند.

مثلا پست هایی که Taxonomy انهاgenre نام دارد و دارای term هایی به نام jazz از اون Taxonomy هستند .

 

روش دوم :

$args = array(
	'tax_query' => array(
		array(
			'taxonomy' => 'genre',
			'field' => 'slug',
			'terms' => 'jazz'
		)
	)
);
$postslist = get_posts( $args );

مثال : نمایش پست هایی که post type انهاproduct می باشد و فیلد featured آنها برابر yes  است. (Custom Field)

$args = array(
	'post_type' => 'product',
	'meta_query' => array(
		array(
			'key' => 'featured',
			'value' => 'yes',
		)
	)
 );
$postslist = get_posts( $args );