복붙노트

[WORDPRESS] WordPress에서 "가상"페이지를 추가 할 수 있습니까?

WORDPRESS

WordPress에서 "가상"페이지를 추가 할 수 있습니까?

해결법


  1. 1.사용자 정의 PHP 파일을 템플릿으로 사용하려면 다시 쓰기 및 쿼리 VAR을 사용 하여이 작업을 수행 할 수 있습니다.

    사용자 정의 PHP 파일을 템플릿으로 사용하려면 다시 쓰기 및 쿼리 VAR을 사용 하여이 작업을 수행 할 수 있습니다.

    //1. define a path for later
    define('PLUG_PATH', WP_PLUGIN_DIR . '/' . basename(dirname(__FILE__)));
    
    
    
    //2. add a wp query variable to redirect to
    add_action('query_vars','plugin_set_query_var');
    function plugin_set_query_var($vars) {
        array_push($vars, 'is_new_page'); // ref url redirected to in add rewrite rule
    
        return $vars;
    }
    
    
    //3. Create a redirect
    add_action('init', 'plugin_add_rewrite_rule');
    function plugin_add_rewrite_rule(){
        add_rewrite_rule('^mynewpage$','index.php?is_new_page=1','top');
    
        //flush the rewrite rules, should be in a plugin activation hook, i.e only run once...
    
        flush_rewrite_rules();  
    }
    
    //4.return the file we want...
    add_filter('template_include', 'plugin_include_template');
    function plugin_include_template($template){
    
    
        // see above 2 functions..
        if(get_query_var('is_new_page')){
            //path to your template file
            $new_template = PLUG_PATH.'/template.php';
            if(file_exists($new_template)){
                $template = $new_template;
            } 
            // else needed? up to you maybe 404?
        }    
    
        return $template;    
    
    }
    
  2. from https://stackoverflow.com/questions/35161848/can-i-add-virtual-page-in-wordpress by cc-by-sa and MIT license