在插入时过滤变更集后发布数据以确保post_name完整。

原型

_wp_customize_changeset_filter_insert_post_data( array $post_data, array $supplied_post_data )

描述

这需要防止在帖子由贡献者转换为挂起状态时删除post_name。

参考:

  • wp_insert_post()

参数

$post_data (array) (Required) 一系列削减的帖子数据。

$supplied_post_data (array) (Required) 一系列已清理但未经修改的帖子数据。

源文件

路径:wp-includes/theme.php

<?php
...
function _wp_customize_changeset_filter_insert_post_data( $post_data, $supplied_post_data ) {
	if ( isset( $post_data['post_type'] ) && 'customize_changeset' === $post_data['post_type'] ) {
		// Prevent post_name from being dropped, such as when contributor saves a changeset post as pending.
		if ( empty( $post_data['post_name'] ) && ! empty( $supplied_post_data['post_name'] ) ) {
			$post_data['post_name'] = $supplied_post_data['post_name'];
		}
	}
	return $post_data;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/_wp_customize_changeset_filter_insert_post_data/