-
-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
route() returns incorrect URLs when request is not handled by index.php #400
Comments
Just to be clear, the bug is that Laravel routes don't work within the wp-admin? |
Getting the URL of a Laravel route is broken in |
Got any examples of what other places that could possibly be? Acorn is typically booted via the |
|
And |
If I understand it all correctly the root cause is that WordPress doesn't use a single file as its entry point, which confuses this function https://github.com/symfony/symfony/blob/44395abfcb2c859b26e0c6880c74dadd94da1038/src/Symfony/Component/HttpFoundation/Request.php#L1776. |
Version
v4.3.0
What did you expect to happen?
I expected
route()
to return correct URLs whenever used.What actually happens?
When used outside of the frontend or console
route()
prefixes the URLs with whatever.php
file WordPress handled the request via.So
http://localhost/my-route
becomeshttp://localhost/wp/wp-admin/admin-post.php/my-route
etc.The issue can be solved by calling
Illuminate\Support\Facades\URL::forceRootUrl(home_url())
during boot but I am not sure about possible caveats.Steps to reproduce
Route::get('/test')->name('test');
toroutes/web.php
add_action('admin_post_nopriv_route_test', function() { echo route('test'); });
tofunctions.php
/wp-admin/admin-post.php?action=route_test
as appropriate for your local environmentSystem info
Pop!_OS 22.04 LTS
Log output
No response
Please confirm this isn't a support request.
Yes
The text was updated successfully, but these errors were encountered: