WordPress.org

Make WordPress Core

Ticket #9477: endpoint-test.php

File endpoint-test.php, 848 bytes (added by Denis-de-Bernardy, 6 years ago)
Line 
1<?php
2/*
3Plugin Name: Endpoint test
4Version: 0.1
5Author: Denis de Bernardy
6*/
7
8add_action('init', array('endpoint_test', 'init'));
9add_action('template_redirect', array('endpoint_test', 'template_redirect'), 5);
10
11class endpoint_test {
12        function init() {
13                global $wp_rewrite;
14            $wp_rewrite->add_endpoint('print', EP_ALL); #EP_PERMALINK | EP_PAGES | EP_ATTACHMENT);
15            $wp_rewrite->flush_rules();
16               
17                if ( !isset($_GET['action']) && preg_match("|/print/?$|", $_SERVER['REQUEST_URI']) ) {
18                        $_GET['action'] = 'print';
19                }
20        } # init()
21       
22        function template_redirect() {
23                if ( isset($_GET['action']) && $_GET['action'] == 'print' ) {
24                        if ( file_exists(TEMPLATEPATH . '/print.php') ) {
25                                include sem_path . '/print.php';
26                        } else {
27                                include dirname(__FILE__) . '/print.php';
28                        }       
29                        die;
30                }
31        } # template_redirect()
32} # endpoint_test
33?>