Ändern Sie den Dateipfad in get_template_part über das Plugin

Ich versuche ein Plugin zu erstellen, das das Verhalten eines Themas ändert.

In der Theme-Datei habe ich eine get_template_part('libs/templates/user_menu'); .

Ich möchte, dass mein Plugin ” get_template_partget_template_part , um eine andere Slug-Datei (einen Pfad zu einer Datei im Ordner des Plugins) zurückzugeben.

Soweit ist das mein Code im 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 ); 

Solutions Collecting From Web of "Ändern Sie den Dateipfad in get_template_part über das Plugin"

Nun, ich behalte dieses Problem, indem ich einen Code oberhalb der function get_template_part () im Theme hinzufüge:

 //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 meinem 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*/ 

möge dies dir helfen