10

I'm trying to write a Wordpress Plug-in but can't seem to figure out how you would modify how a URL gets handled, so for example: any requests made for:

<url>/?myplugin=<pageID>

will get handled by a function in my plug-in. I'm sure this is a very simple to do, but I'm pretty new to working with Wordpress and couldn't find it in the documentation.

KeyboardInterrupt
  • 3,483
  • 8
  • 36
  • 41

2 Answers2

12

In order to handle just a specific URL use the code below:

add_action('parse_request', 'my_custom_url_handler');

function my_custom_url_handler() {
   if(isset($_GET['myplugin']) && $_SERVER["REQUEST_URI"] == '/custom_url') {
      echo "<h1>TEST</h1>";
      exit();
   }
}
zarazan
  • 1,164
  • 10
  • 13
9
add_action('parse_request', 'my_custom_url_handler');
function my_custom_url_handler() {
  if( isset($_GET['myplugin']) ) {
    // do something
    exit();
  }
}

That should set you on the right direction. parse_request happens before WordPress runs any of the complicated WordPress queries used to get the posts for the current URL.

nickohrn
  • 2,228
  • 15
  • 18