Home > Backend Development > PHP Tutorial > Detailed explanation of the use of get_post and get_posts functions in WordPress development_php skills

Detailed explanation of the use of get_post and get_posts functions in WordPress development_php skills

WBOY
Release: 2016-05-16 20:00:59
Original
1099 people have browsed it

get_post()
In general theme production, we rarely use the get_post() function, but because we will talk about get_posts() later, we have to talk about this singular form first. The main function of this function is to return a specified article in the form of an object or array so that we can use it later. Let us briefly understand how to use it.

get_post() function description
The function names of WordPress are always so easy to understand. The get_post() function is just like its name, which is to get an article and return a specified article in the form of an object or array for us to use later.

Function usage

<&#63;php
 get_post($post_id, $output); 
&#63;>
Copy after login

The $post_id variable is used to set the ID of the article to be obtained. It should be noted that we cannot directly give an actual value to this variable, otherwise an error will be reported. We can only call it in the following form.

$pid = 158;
get_post($pid);
//如果像get_post(158);这样调用则会报错
Copy after login

$post_id, the default value is none. After testing, if this variable is not set, an error will be reported. Personally, I feel that this variable does not have a default value.

The $output variable is used to set the type of returned data. There are three types: object, associative array, and numeric array.
Object: OBJECT
Associative array: ARRAY_A
Numeric array: ARRAY_N
Default value: OBJECT

Usage examples

<&#63;php
$mypost_id = 158;
$post_id_158 = get_post($mypost_id, ARRAY_A);
$title = $post_id_158['post_title'];
&#63;>
Copy after login

get_posts
The get_posts function is simply the new plural form of get_post. However, because it extracts multiple articles, the usage method is slightly different. It supports many parameters to select the articles that need to be extracted. It is often used in CMS themes. Of course, if you have a deeper understanding of WordPress, you may also use WP_Query to replace this function. This is a story for another time. Today I will mainly introduce the get_posts function.

Detailed explanation of get_posts function
This function is a built-in function of WordPress and is used to extract multiple specified or random articles in WordPress.
The more you describe a simple function, the more complicated it is to use. You need to read the following carefully!

How to use

<&#63;php 
$args = array(
  'numberposts'   => 5,
  'offset'     => 0,
  'category'    => ,
  'orderby'     => 'post_date',
  'order'      => 'DESC',
  'include'     => ,
  'exclude'     => ,
  'meta_key'    => ,
  'meta_value'   => ,
  'post_type'    => 'post',
  'post_mime_type' => ,
  'post_parent'   => ,
  'post_status'   => 'publish' );
$posts_array = get_posts( $args ); 
&#63;>
Copy after login

$args are necessary variables for this function
get_posts( $args ) will return an array of variables.

Detailed explanation of variable parameters

<&#63;php 
$args = array(
  //需要提取的文章数
  'numberposts'   => 10,
 
  //以第几篇文章为起始位置
  'offset'     => 0,
 
  //分类的ID,多个用逗号将分类编号隔开,或传递编号数组,可指定多个分类编号。
  //大部分 CMS 使用该函数的重点。
  'category'    => ,
 
  //排序规则(注1)
  'orderby'     => 'post_date',
 
  //升序、降序 'ASC' —— 升序 (低到高) 'DESC' —— 降序 (高到底)
  'order'      => 'DESC',
 
  //要显示文章的ID
  'include'     => ,
 
  //要排除文章的ID
  'exclude'     => ,
 
  //自定义字段名称
  'meta_key'    => ,
  //自定义字段的值,配合上一个参数,来选择显示符合自定义字段数值的文章。
  'meta_value'   => ,
 
  //post(日志)——默认,page(页面),
  //attachment(附件),any —— (所有)
  'post_type'    => 'post',
 
  //文章的 mime 类型
  'post_mime_type' => ,
 
  //要显示文章的父级 ID
  'post_parent'   => ,
 
  //文章状态
  'post_status'   => 'publish' );
&#63;>
Copy after login

Note:

  • ‘author’ —— Sort by author numerical number
  • ‘category’ —— Sort by category numerical number
  • ‘content’ — Sort by content
  • ‘date’ — Sort by creation date
  • ‘ID’ —— Sort by article number
  • ‘menu_order’ – Sort by menu order. Only pages available.
  • ‘mime_type’ – Sort by MIME type. Only attachments available.
  • ‘modified’ – Sort by last modified time.
  • ‘name’ – Sort by stub.
  • ‘parent’ — Sort by parent ID
  • ‘password’ — sort by password
  • ‘rand’ —— Arbitrarily sort the results
  • ‘status’ – sort by status
  • ‘title’ — Sort by title
  • ‘type’ — Sort by type

Example
We just talked about using arrays to pass parameters. Of course, we can also use strings to pass parameters to the function. Here is a simple example.

<&#63;php
$posts_rand = get_posts('numberposts=3&orderby=rand');
&#63;>
Copy after login

The above code is used to randomly get 3 articles in WordPress.

Summary
In fact, the query_posts() and get_posts() functions accept most parameters, use database query statements with the same structure, and can achieve the same purpose. However, some theme authors suggest that query_posts() may disrupt the WordPress main loop. So it is not recommended to use here.
It is not difficult to use get_posts, but the difficulty is how to display it on the page after getting the article. This requires a certain knowledge of PHP.
If you want to display the query content outside the article loop, you can take a look at the setup_postdata function. This function will be of great help to those who are used to using template tags.

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template