Make WordPress Core

Opened 5 years ago

Closed 10 months ago

#54964 closed defect (bug) (worksforme)

get_permalink() does not use the correct slug rewrite base

Reported by: jakubaondrej Owned by:
Priority: normal Milestone:
Component: Posts, Post Types Version:
Severity: normal Keywords: needs-patch reporter-feedback
Cc: Focuses: rest-api

Description

Hello,

get_permalink does not work well for custom posts with slug rewrite.
E.g. I have implemented articles post type:

<?php
register_post_type('articles',
        array(...
'rewrite'     => array('slug' => _x('articles','slug','mydomain')),...));

'articles' is translateD to slovak language as 'clanky'. But get_permalink({id_of_article}) returns localhost:10010/articles/my-title. It is wrong and i have recieve error 404, because right link is localhost:10010/clanky/my-title.

It works OK for older WP version.

Thanks a lot for any result.

Kind regards,
Ondrej Jakuba

Change History (7)

This ticket was mentioned in ​Slack in #accessibility by ryokuhi. ​View the logs.


5 years ago

#2 @joedolson
5 years ago

  • Focuses accessibility removed

This ticket was mentioned in ​Slack in #core-test by hellofromtonya. ​View the logs.


5 years ago

#4 @SergeyBiryukov
4 years ago

  • Component I18N → Posts, Post Types
  • Focuses coding-standards removed
  • Summary get_permalink → get_permalink() does not use the correct slug rewrite base

#5 @lopo
3 years ago

  • Keywords reporter-feedback added

I looked into this issue during the Yoast Contributor Day, I could not reproduce the problem in 6.4 beta 2.

This is how I tried:

  • I installed Yoast Test Helper from the wp.org repository
  • in Tools > Yoast Test, I enabled the custom post types
  • I created and published an item under the Book post type, it got id 6
  • I edited wp-content/plugins/yoast-test-helper/src/post-types.php to change from
    <?php
    'slug' => 'yoast-test-books',
    
    to
    <?php
    'slug' => _x( 'yoast-test-books', 'slug', 'yoast-test-helper' ),
    
  • I set the site to use Italian
  • I installed Locotranslate from wp.org
  • Using Locotranslate, I translated yoast-test-books to libri
  • I edited the theme and added echo get_permalink( 6 );
  • I got ​http://localhost:8889/libri/book-title/ as expected

(notice that the link would return a 404 unless the permalink had been flushed, but it's not needed to get the translated URL).

@jakubaondrej can you check again if the issue is still occurring, and if so, can you provide instructions to reproduce?

This ticket was mentioned in ​Slack in #core by sirlouen. ​View the logs.


10 months ago

#7 @SirLouen
10 months ago

  • Milestone Awaiting Review
  • Resolution → worksforme
  • Severity blocker → normal
  • Status new → closed
  • Version 5.9

Since no one has been able to reproduce this and more than 2 years have passed since then, it's time to close this as worksforme

@jakubaondrej feel free to comment if you can provide additional information on how to reproduce this, and I will be happy to reopen and test it accordingly.

Note: See TracTickets for help on using tickets.