Изменить шорткод Wordpress галереи на имя файла - PullRequest
0 голосов
/ 16 июля 2010

Можно ли изменить слаг страницы вложения на ссылающееся имя файла?Короче ... я использую Gallery Shortcode для создания простой галереи на основе страниц.

Я изменяю оригинальное имя файла (например, DSC1223.jpg) во время процесса загрузки (на 3b1871561aab.jpg).) но это не выглядит как слизняк внутри URL.Он использует только DSC1223.

Есть ли способ изменить ist?

С уважением, Стив

Лучший способ - написать что-то подобное в моих функциях. Php

function twentyten_filter_wp_handle_upload () {

    $upload =  wp_handle_upload();

}

add_filter( 'wp_handle_upload', 'twentyten_filter_wp_handle_upload', 10, 2);

1 Ответ

2 голосов
/ 17 июля 2010

Добавьте это к плагину для загрузки имени файла хеша , и вам будет хорошо;

/**
 * Filter new attachments and set the post_name the same as the hashed
 * filename.
 * 
 * @param int $post_ID
 */
function change_attachment_name_to_hash($post_ID)
{
    $file = get_attached_file($post_ID);
    $info = pathinfo($file);
    $name = trim( substr($info['basename'], 0, -(1 + strlen($info['extension'])) ) );
    wp_update_post(array(
        'ID' => $post_ID,
        'post_name' => $name
    ));
}
add_action('add_attachment', 'change_attachment_name_to_hash');

Не стесняйтесь спрашивать, если вы не уверены, что делает каждая строка!

ОБНОВЛЕНИЕ:

Эта функция подключается к событию add_attachment сразу после сохранения нового вложения в базе данных.Это действие вызывается изнутри wp_insert_attachment().

Сначала мы получаем имя файла вложения (get_attached_file()).Затем мы используем встроенную функцию PHP pathinfo () , чтобы получить компоненты пути, и удаляем путь к каталогу и расширение файла.

Затем мы вызываем wp_update_post(), обновляя post_name вложения в базе данных.

...