WordPress Миниатюра для загрузки мета-сообщения - PullRequest
0 голосов
/ 08 марта 2011

Я настроил собственное мета-поле сообщения для миниатюр на каждом из своих сообщений.Эта функция вызывается правильно, и все работает до самой последней строки update_post_meta

Что интересно, я могу вывести $imageURL и получить правильный адрес, и файл загружается нормально.Я могу даже update_post_meta с любым другим значением, будь то строка или другая переменная внутри функции, но как только я пытаюсь использовать $imageURL или $uploaded_file['url'], он просто устанавливает мета записи в пустую строку.*

Я использовал этот фрагмент в проектах, которые были разработаны с WordPress ранее 3.1, но этот 3.1.Может ли это быть как-то связано с этим?Я в чем-то сомневаюсь, поскольку это одна из тех сверхъестественных ошибок.

function tcr_save_thumbnail($post_id, $post) {
    if ( !wp_verify_nonce( $_POST['eventmeta_noncename'], plugin_basename(__FILE__) )) {
        return $post->ID;
    }

    if ( !current_user_can( 'edit_post', $post->ID ))
        return $post->ID;

    if(!empty($_FILES['tcr_thumbnail_meta']['name'])) { //New upload
        require_once( ABSPATH . 'wp-admin/includes/file.php' );
        $override['action'] = 'editpost';
        $uploaded_file = wp_handle_upload($_FILES['tcr_thumbnail_meta'], $override);

        $post_id = $post->ID;
        $attachment = array(
            'post_title' => $_FILES['tcr_thumbnail_meta']['name'],
            'post_content' => '',
            'post_type' => 'attachment',
            'post_parent' => $post_id,
            'post_mime_type' => $_FILES['tcr_thumbnail_meta']['type'],
            'guid' => $uploaded_file['url']
        );
        // Save the data
        $id = wp_insert_attachment( $attachment,$_FILES['tcr_thumbnail_meta'][ 'file' ], $post_id );
        wp_update_attachment_metadata( $id, wp_generate_attachment_metadata( $id, $_FILES['tcr_thumbnail_meta']['file'] ) );
        $imageURL = $uploaded_file['url'];
        update_post_meta($post->ID, "tcr_thumbnail_meta", $imageURL);
    }
}

1 Ответ

0 голосов
/ 08 марта 2011

Это функциональность, которая уже была реализована в плагине. попробуйте http://wordpress.org/extend/plugins/taxonomy-images/ Это так полно!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...