我有一个名为“会议”的自定义帖子类型,我想批量删除所有帖子及其所有附件图像。。。
这可以通过wp cli完成吗?
非常感谢。
我有一个名为“会议”的自定义帖子类型,我想批量删除所有帖子及其所有附件图像。。。
这可以通过wp cli完成吗?
非常感谢。
要做到这一点,您可以使用wp post list 并将输出导入wp post meta delete 使用xargs
.
下面是一个示例命令,用于删除meetings
岗位类型:
wp post list --post_type= meetings --fields=ID --format=csv | xargs -I % wp post meta delete % _thumbnail_id
我知道您询问了如何通过wpCLI执行此操作,但您可以运行函数来执行此操作:
add_action( \'before_delete_post\', \'delete_all_attached_media\' );
function delete_all_attached_media( $post_id ) {
if( get_post_type($post_id) == "meetings" ) {
$attachments = get_attached_media( \'\', $post_id );
foreach ($attachments as $attachment) {
wp_delete_attachment( $attachment->ID, \'true\' );
}
}
}
将此函数添加到函数中。php,然后在后端选择所有;“会议”;cpts和删除。清除垃圾后,此功能将启动并删除与被删除帖子相关的所有附件。以下是我在Ubuntu环境中为WordPress创建数据库堆栈和目录的方法:cat <<-DBSTACK | mysql -u root -p\"${dbrootp}\" CREATE USER \"${domain}\"@\"localhost\" IDENTIFIED BY \"${dbuserp}\"; CREATE DATABASE \"${domain}\"; GRANT ALL PRIVILEGES ON ${domain}.* TO