#php #wordpress
#php #wordpress
Вопрос:
Я пытаюсь создать плагин, который будет удалять изображения и дополнительную информацию из базы данных при удалении пользовательского сообщения (sp_venue) через панель администратора (wp-admin/edit-tags.php )
В плагине я использую это для отслеживания события:
add_action( 'delete_post', 'kg_delete_post' );
function kg_delete_post($postId) {
$post = get_post($postId);
if ($post->post_type != 'attachment') {
return false;
}
$url = str_replace($dirs['baseurl'],'',$post->guid);
$urlParts = explode("/",$url);
$numberOfParts = sizeof($urlParts) - 1;
$dirs = wp_upload_dir();
$fileNameParts = explode(".", $urlParts[$numberOfParts]);
$fileName = str_replace('.' . end($fileNameParts), '', $urlParts[$numberOfParts]) . "-*." . end($fileNameParts);
$path =$dirs['basedir'] ."/". $urlParts[$numberOfParts-2] . "/" . $urlParts[$numberOfParts-1] . "/";
$fullPath = $path . $urlParts[$numberOfParts];
$fullPathSearch = $path . $fileName;
@unlink($fullPath);
foreach (glob($fullPathSearch) as $filename) {
@unlink($path . $filename);
}
}
Он работает с:
wp_delete_post($Id, true)
Но похоже, что событие при удалении через панель администратора не совпадает.
Что я должен использовать, чтобы это работало? Спасибо.
Ответ №1:
Решается путем добавления моего js в панель администратора, чтобы настроить нажатие на кнопку удаления.