2012-05-27 3 views
1

У меня есть функция создания приложения (zip-файла) в wordpress.wordpress - проверка наличия привязанности

releveant код, как показано ниже:

Мой вопрос: есть ли способ проверить, если то же самое имя приложения (или ID или FILE TYPE) уже существует, прежде чем создавать новый? (что означает, прежде чем вставить вложение в БД ..)

В моем текущем состоянии - attachemnts создается каждый раз, когда эта функция работает. Это означает, что он может создать запись DB нового приложения в каждом тиме - даже если реальный файл является только одним файлом.

$attachment = array(
    'guid' => $wp_upload_dir['baseurl'] . _wp_relative_upload_path($path ), 
    'post_mime_type' => $wp_filetype['type'], 
    'post_title' => preg_replace('/\.[^.]+$/', '', basename($path)), 
    'post_content' => '', 
    'post_status' => 'inherit' 
); 


$attach_id = wp_insert_attachment($attachment, $path , $post_id); // perform the magic 


    require_once(ABSPATH . 'wp-admin/includes/image.php'); 


    wp_update_attachment_metadata($attach_id, $attach_data); // perform the magic II 

ответ

2

Больше контекста, где ваш код происходит уже было бы полезно ...

Попробуйте что-то вроде этого, чтобы проверить наличие прикрепленного существования:

global $wpdb; 
$title_exists = $wpdb->get_results( 
    $wpdb->prepare( 
     "SELECT ID FROM $wpdb->posts 
     WHERE post_title = '$post->post_title' 
     AND post_type = 'attachment'" 
    ) 
); 

изменяющемся post_title = '$post->post_title' для любой проверки тебе нужно.

Код: WordPress StackExchange - Disallow Same Post Title

Смежные вопросы