Joomla教程菜鸟教程删除页面时删除关联媒体

JasperAI 10000字免费额度试用

笔记

使用风险自负,它有问题,我遇到过几个它会删除所有附件的实例。 不确定为什么。

删除该页面时是否可以删除与该页面关联的媒体? 我知道在“插入媒体”页面中您可以按“上传到此页面”的图像进行过滤,所以我可以获取这些图像的列表并在删除页面时删除它们吗?

现在我正在尝试挂接到 Delete Post。 现在……它什么都不做,但我想我正在使用它。

function del_post_media($pid) { $query = "DELETE FROM wp_postmeta WHERE ".$pid." IN ( SELECT id FROM wp_posts WHERE post_type="attachment" )"; global $wpdb; if ($wpdb->get_var($wpdb->prepare($query))) { return $wpdb->query($wpdb->prepare($query)); } return true; } add_action('delete_post', 'del_post_media'); 

这个怎么样? 它改编了 get_posts() 函数参考页上的示例。

function delete_post_media( $post_id ) { $attachments = get_posts( array( 'post_type' => 'attachment', 'posts_per_page' => -1, 'post_status' => 'any', 'post_parent' => $post_id ) ); foreach ( $attachments as $attachment ) { if ( false === wp_delete_attachment( $attachment->ID ) ) { // Log failure to delete attachment. } } } add_action( 'before_delete_post', 'delete_post_media' ); 

我想你正在寻找这样的东西……?

function delete_associated_media($id) { // check if page if ('page' !== get_post_type($id)) return; $media = get_children(array( 'post_parent' => $id, 'post_type' => 'attachment' )); if (empty($media)) return; foreach ($media as $file) { // pick what you want to do wp_delete_attachment($file->ID); unlink(get_attached_file($file->ID)); } } add_action('before_delete_post', 'delete_associated_media'); 

高质量外链购买

5分钟生成10篇英文软文article forge软件试用

siteground guangda

原文链接:https://www.wordpresshy.com/329350

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享