seo - Change the Permalink for wordpress attachment

My attachments are currently rewritten fromhttp:localhost?attachment_id=3 tohttp:localhostimagesimage-title usi

My attachments are currently rewritten from
http://localhost/?attachment_id=3 to
http://localhost/images/image-title using @Bainternet's answer here.

 $new_rules['images/(\d*)$'] = 'index.php?attachment_id=$matches[1]';  

However, wordpress still refers to the link as the default http://localhost/?attachment_id=3. Wordpress functions such as the_permalink, get_attachment_url, get_attachment_image_src, etc. all use the default format of http://localhost/?attachment_id=3.

I am able to access the image as intended if I manually type in the rewritten format http://localhost/images/image-title.

How can I get wordpress to use my custom rewrite for the permalink especially on the admin page?

EDIT: reworded question for specificity and correctness:
How do I override the_permalink to use the format /images/image-title instead of /?attachment_id=ID?
I can get image-title using $post->post_title.

EDIT #2:
For anyone reading this question in the future, I found it best to use $post->post_name for the link to insure uniqueness.
/images/post_title

My attachments are currently rewritten from
http://localhost/?attachment_id=3 to
http://localhost/images/image-title using @Bainternet's answer here.

 $new_rules['images/(\d*)$'] = 'index.php?attachment_id=$matches[1]';  

However, wordpress still refers to the link as the default http://localhost/?attachment_id=3. Wordpress functions such as the_permalink, get_attachment_url, get_attachment_image_src, etc. all use the default format of http://localhost/?attachment_id=3.

I am able to access the image as intended if I manually type in the rewritten format http://localhost/images/image-title.

How can I get wordpress to use my custom rewrite for the permalink especially on the admin page?

EDIT: reworded question for specificity and correctness:
How do I override the_permalink to use the format /images/image-title instead of /?attachment_id=ID?
I can get image-title using $post->post_title.

EDIT #2:
For anyone reading this question in the future, I found it best to use $post->post_name for the link to insure uniqueness.
/images/post_title

Share Improve this question edited Apr 13, 2017 at 12:37 CommunityBot 1 asked Apr 22, 2014 at 20:49 csicsi 3772 gold badges5 silver badges16 bronze badges 1
  • 1 that rule works with the attachment ID, how do you get the title from that? – Milo Commented Apr 27, 2014 at 16:59
Add a comment  | 

2 Answers 2

Reset to default 6 +50

Your rule works with the attachment ID, so I'm not sure how you're using the title, but the answer is almost identical in either case. The filter you want is attachment_link:

function wpd_attachment_link( $link, $post_id ){
    $post = get_post( $post_id );
    return home_url( '/images/' . $post->post_title );
}
add_filter( 'attachment_link', 'wpd_attachment_link', 20, 2 );

Change $post->post_title to $post->ID to put the ID in the URL instead of title.

Some other way to Change the permalink url

function ro_remove_attachment_title_caption( $attach_id ){
 $args = array(
   'ID'          => $attach_id,
   'post_name'   => "permalinkName",
 );
 wp_update_post( $args );
}
add_action( 'add_attachment', 'ro_remove_attachment_title_caption', 10, 1 );

It works in the context of the Plugin: remove OLYMPUS DIGITAL CAMERA from caption and title by Image upload

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745463123a4628798.html

相关推荐

  • seo - Change the Permalink for wordpress attachment

    My attachments are currently rewritten fromhttp:localhost?attachment_id=3 tohttp:localhostimagesimage-title usi

    5小时前
    20

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信