您可以将ID添加为post_parent
至标题图像的附件,通过wp_update_post()
(尽管这似乎是一种非常非常黑客的方式!)
棘手的部分是从附件URL中获取ID;幸运的是,Rarst很久以前就解决了这个问题,所以您可以手动添加get_attachment_id()
您的功能。
接下来,您必须将ID分配为post_parent
; 每次保存标题图像时,选定的标题图像将附加到此特殊ID。
add_action( \'admin_init\', \'attach_header_image\' );
function attach_header_image() {
if ( isset( $_POST[\'default-header\'] ) ) :
$header_image_url = get_header_image();
$header_image_id = get_attachment_id( $header_image_url ); // function via https://wordpress.stackexchange.com/a/7094/32946
$args = array(
\'ID\' => $header_image_id,
\'post_parent\' => 1 // assign header image to this ID
);
wp_update_post( $args );
endif;
}
尽管如此,这似乎是一种棘手的解决问题的方法,为delete函数编写一个异常可能会更好。。。
Debugging Infos:
回声get_header_image()
应输出指向当前标题图像URL的链接(仅当定义了标题图像时为true)
echoget_attachment_id( $header_image_url )
应该输出附件页的ID,该ID应该等于您可以在Media(/wp admin/post.php)中看到的附件页的ID?post=123&;操作=编辑);还要确保复制和粘贴get_attachment_id()
功能从稀有到您的功能包含以下内容的if语句default-header
应检查name
选中的输入标题字段的$_POST