2

I have a page on WordPress, it's slug is http://example/wordpress/page. I also have a second page, and it's slug is http://example/wordpress/page2.

I want to a link in the first page that links to the second page. So I tried the following:

  • /page2/ - leads to http://example.com/page2
  • /../page2/ - leads to http://example.com/page2
  • page2/ - leads to http://example.com/wordpress/page/page2
  • ../page2/ - leads to http://example/wordpress/page2

But problem is WordPress converts ../page2/ to http://../page2/ which obviously doesn't work.

So what can I do to fix this? I don't want to hardcode the url, as the site could be accessed from wordpress.example.com and example.com/wordpress

  • Hi, i think there might be a problem with your site url and home url options. Check your database and see if both siteurl and home are set to the same value, under wp_options table. Or you can also check from Settings > General. – Jack Johansson May 17 '17 at 14:27
  • Hi @Jack, they are the same. – CalvT May 17 '17 at 14:29
  • Have you tried changing your page's slug? using page may cause conflict with the WordPress's pagination. – Jack Johansson May 17 '17 at 14:32
  • @Jack these are examples, not the real slugs – CalvT May 17 '17 at 14:36
  • 1
    Not an answer but a hint: WP always runs under the assumption that is has a certain URL. Making a WP site accessible from multiple URLs will end you in a world of pain in the long run. The issue you're having now is just the tip of the iceberg. – kraftner May 17 '17 at 15:15
0

If you can access your page at http://example/wordpress/page2, then use the following code to output a link to your page, no matter what your site url is:

echo site_url('/page2/');

This appends the /page2/ to your website's url (which is http://example/wordpress/ ), which would be :

http://example/wordpress/page2/

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.