TransWikia.com

Change the file path on get_template_part via plugin

WordPress Development Asked by Crerem on November 19, 2021

I’m trying to make a plugin that will change the behavior of a theme.

In the theme file I have a get_template_part('libs/templates/user_menu');.

I want to make my plugin “force” the get_template_part to return another slug file (a path to a file in the plugin’s folder).

So far this is my code inside the plugin:

function wpse21352_template_part_cb( $slug )
{
    if(slug == 'user_menu') {
         return WP_PLUGIN_URL.'/'.$slug;
    } else {
         return $slug;
    }
}

do_action( "get_template_part_user_menu", 'user_menu' );
add_action( 'wpse21352_template_part_cb', 'get_template_part_user_menu', 10, 1 );

One Answer

Well, I handle this issue by adding some code above get_template_part() function in theme as:

//Theme
/* If any filter set */

if(has_filter('ppr_one_search_item_view'){

     $themePartSlug = apply_filters('ppr_one_search_item_view');
 }
 else{
       $themePartSlug = 'templates/search/place';
 }      
 get_template_part($themePartSlug);

in my plugin:

/* Plugin Code */
function get_template_part_place(){

    // Template file from plugin Directory 

    load_template(PPR1_PLUGIN_PATH.'templates/search_places.php');
}
add_filter( 'ppr_one_search_item_view', 'get_template_part_place');
/* plugin Code End*/

may this will help you

Answered by zahoor on November 19, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP