Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I'm creating a plugin where a file is loaded and if a link is clicked, it passes some variables that are appended to the url. So if a link is clicked it will change the url by appending filter/?term=il_Massac,st_locked which should load the filter.php file.

My issue is how do I get it to use the filter.php which is included in the plugin? The main plugin file is called meta-box.php. If I added it the the theme as a page, it works but I want the plugin to do the work instead of adding a page. Right now, if I don't use it as a page-template in the theme folder and just have it in the plugin folder, it gives a 404.

Here is the code to the link that is in my meta-box.php file: <a href="<?php echo home_url()?>/filter/?term=<?php echo $term ?>">search link</a>

$term is a variable that has some search parameters in it. So if I click that link, it gives me the 404 page rather than loading the filter.php file to execute some code. Again, I can add it the the theme as a page template but I would like it to be contained within the plugin so it does not need to be added to the theme as a page template.

Does that help?

Any suggestions on how I might do this?

share|improve this question
2  
Sorry man, not clear enough, at least for my understanding. Please include the relevant code. –  Johannes Pille Jul 29 '13 at 15:43
    
I edited my question and please let me know if I'm still not clear enough. Thanks! –  graphical_force Jul 29 '13 at 15:54
add comment

1 Answer 1

I ended up answering my own question by using the following code

add_filter( 'template_include','include_filter_template_function', 1 );

function include_filter_template_function($template_path ) {
        $template_path = plugin_dir_path( __FILE__ ) .'filter.php';

return $template_path;
}

and checking the params on that page. I'm sure there is a more elegant way to do this but it works for me. :)

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.