让代码更简单

WordPress函数set_post_format设置文章形式

重要:本文最后更新于2024-02-29 16:30:24,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

今天在搞图片站采集的时候遇到一个问题,在使用wp_insert_post()函数插入采集文章的时候,没法设置文章形式,至于什么是文章形式,自己在后台看看吧,有些主题没开启,可以使用下面的代码开启。

复制
add_theme_support('post-formats', array(
    'aside', 'image', 'video',
));

函数详解

说回今天要介绍的WordPress函数set_post_format(),它还有一个爹叫做wp_set_post_terms(),儿子当然是爹生的,看看下面的源码,源码位于:wp-includes/post-formats.php

复制
function set_post_format( $post, $format ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return new WP_Error( 'invalid_post', __( 'Invalid post.' ) );
	}

	if ( ! empty( $format ) ) {
		$format = sanitize_key( $format );
		if ( 'standard' === $format || ! in_array( $format, get_post_format_slugs(), true ) ) {
			$format = '';
		} else {
			$format = 'post-format-' . $format;
		}
	}

	return wp_set_post_terms( $post->ID, $format, 'post_format' );
}

可以看到,这两个函数都接收相同的参数,wp_set_post_terms()则多一个固定的字符串参数 post_format

参数

  • $post int|object 必须参数,文章ID
  • $format string 必须参数,已经被你注册的形式名称,如上面代码中的image、video等。

返回值

array|WP_Error|false 成功返回受影响的ID,失败返回wp错误对象

简单示例

复制
<?php
/*
 * Set the post format of a post (in the loop).
 */

set_post_format($post->ID, 'gallery' ); //sets the given post to the 'gallery' format

?>

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐