Add a new page to WordPress using a plugin

2019-03-24 14:54发布

How does a plugin add a page to the current WordPress theme a given URL?

Sample URL: http://wordpress/plugin-name/start

This page should display a form using that utilizes the current theme.

At the end of the day I'm going to replace the current front-facing WordPress login and registration mechanisms with a custom implementation.

标签: php wordpress
1条回答
闹够了就滚
2楼-- · 2019-03-24 15:37

You want to hook a function to the template_redirect action.

There, you can recognize the special URL(s) you want and then you can load your own template accordingly.

To make it use the existing theme, you can do similar things like a theme would, such as call get_header(), get_footer(), get_sidebar(), etc.

After you've output your page, you'll need to explicitly call exit(); to prevent the normal page output from occurring.

Note: In WordPress 3.0, a better way is to hook to the template_include filter, and have it return the file-include-path to your own template file.

This doesn't require the exit();, so it's more compatible with other plugins.

查看更多
登录 后发表回答