是否有面向用户的界面来编辑附件的永久链接?

时间:2011-03-18 作者:editor

如果您使用[gallery] 标记您知道,用于图像附件的永久链接的最终结果如下blog.com/2011/03/18/post-permalink/attachment-permalink.

post permalink的URL扩展名似乎基于第一次保存时附件的标题。然而,据我所知,在媒体工具中编辑图像标题时,此永久链接不会更新。实际上,我根本找不到编辑附件永久链接的方法。

是否有一个我缺少的面向用户的界面可以让用户编辑附件的永久链接?

4 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

这将在编辑附件页面中添加一个slug字段,允许您在选择的时间和方式进行独立更改。

将其放入插件或主题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);

SO网友:fuxia

有一个插件Rename Media 这会在编辑标题时更改文件名。

SO网友:Ov3rfly

TheDeadMedic的解决方案很好,但我建议添加sanitize_title() 在保存筛选器以确保该值始终是有效的slug时:

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);

SO网友:jhdenham

WordPress将原始文件名作为附件的唯一标识符存储在数据库中。不幸的是,据我所知,在UI中没有任何方法可以更改它。这并不十分方便,但您很可能需要重新上传文件。

结束

相关推荐

是否可以确定用户何时在“Media”>“Add New”与“Post>Add an Image”之间

我想将下面的过滤器包装成一个条件,测试用户是否从媒体管理器(Admin>Media>Add New)而不是从post editor图像上载例程上载图像。有可能知道吗$pagenow在这两种情况下似乎是相同的。。。//no extra thumbs global $pagenow; if($pagenow==\"media-new.php\"){ add_filter(\'intermediate_image_sizes_advanced\',\'ce4_no_thumb