使用Wordpress

时间:2016-06-02 05:42:37

标签: php wordpress

我现在一直在寻找,到目前为止我的搜索非常不成功。我正在寻找一个删除特色图片的功能,并在仪表板的帖子页面上点击删除帖子时发布。

我想要的是:在帖子上点击删除会立即删除其特色图片,而不是移动到“垃圾箱”。

抱歉,我不是专业开发人员,我是个菜鸟,刚开始。任何帮助都会很棒。谢谢!

4 个答案:

答案 0 :(得分:1)

在任何情况下,wp_delete_attachment都需要attachment_id而不是post_id。救你半个小时;)

{{1}}

答案 1 :(得分:0)

您可以在delete_post函数中使用add_action钩子,并运行一个函数,该函数在通过post id获取该特征图像之后将对该特征图像进行deelte。 enter image description here

答案 2 :(得分:0)

您可以在“删除帖子之前”附加Wordpress功能......

所以在你的主题的function.php文件下:

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');

这将删除要删除的页面上的所有附件(图像)。你不得不调整它只是为了成为特色图像,但它可能会帮助你解决它。

答案 3 :(得分:-1)

您可以使用wp_trash_post动作挂钩,它会在帖子,页面或自定义帖子类型上运行即将被删除

add_action( 'wp_trash_post', 'delete_post_permanently' );

function delete_post_permanently( $post_id ){    
    wp_delete_post($post_id, true); // deletes post
    wp_delete_attachment ( $post_id, true ); // deletes attachment
}