editor
  • 0
Профи

Есть ли пользовательский интерфейс для редактирования постоянной ссылки вложения?

  • 0

Если вы вообще используете этот тег, вы знаете, что постоянные ссылки для прикрепленных изображений заканчиваются как blog.com/2011/03/18/post-permalink/attachment-permalink .

Расширение URL-адреса из постоянной ссылки сообщения, по-видимому, основано на заголовке вложения при первом сохранении. Однако, насколько мне известно, эта постоянная ссылка не обновляется, когда заголовок изображения редактируется в медиа-инструментах. На самом деле я не могу найти способ редактировать постоянные ссылки вложений.

Есть ли пользовательский интерфейс, который мне не хватает, который позволит пользователям редактировать постоянную ссылку вложения?

Share
  1. Это добавит поле ярлыка на страницу редактирования вложения, что позволит вам независимо изменить его, когда и как вы выберете.

    Перетащите его в плагин или папку вашей темы functions.php ;

    function wpse_12405_edit_attachment_name( $fields, $post ) {
        $fields['post_name'] = array(
            'label' => __( 'Slug' ),
            'value' => $post->post_name,
        );
    
        return $fields;
    }
    
    add_filter( 'attachment_fields_to_edit', 'wpse_12405_edit_attachment_name', 10, 2 );
    
    function wpse_12405_save_attachment_name( $attachment, $POST_data ) {
        if ( ! empty( $POST_data['post_name'] ) )
            $attachment['post_name'] = $POST_data['post_name'];
    
        return $attachment;
    }
    
    add_filter( 'attachment_fields_to_save', 'wpse_12405_save_attachment_name', 10, 2);
    
    • 0
  2. Есть плагин Rename Media, который меняет имя файла при редактировании заголовка.

    • 0
  3. Решение TheDeadMedic работает нормально, но я бы рекомендовал добавить sanitize_title() в фильтр сохранения, чтобы убедиться, что значение всегда является допустимым слагом:

    function __save_attachment_name( $attachment, $POST_data )
    {
        if ( !empty( $POST_data['post_name'] ) )
            $attachment['post_name'] = sanitize_title( $POST_data['post_name'] );
        return $attachment;
    }
    add_filter( 'attachment_fields_to_save', '__save_attachment_name', 10, 2);
    
    • 0
  4. WordPress хранит исходное имя файла в базе данных как уникальный идентификатор вложения. К сожалению, насколько мне известно, изменить его в пользовательском интерфейсе невозможно. Это не очень удобно, но, скорее всего, вам придется перезалить файл.

    • 0

Оставить ответ

You must login to add an answer.