Laden Sie eine bestimmte Seitenvorlage basierend auf URI

Ich habe eine Seitenvorlage, die ich laden möchte, wenn mein $_SERVER['REQUEST_URI'] ist, www.site.com/link/147 wo die Zahl 147 variabel sein wird.

$_SERVER['REQUEST_URI'] ich würde gerne eine Seitenvorlage aufrufen, wenn mein $_SERVER['REQUEST_URI'] /link/ drin enthält.

Solutions Collecting From Web of "Laden Sie eine bestimmte Seitenvorlage basierend auf URI"

Wenn Sie sich darauf verlassen können, dass der URI immer demselben Muster folgt, zB /link/### , dann können Sie selektiv eine andere Vorlage laden, indem Sie eine /link/### und ein Neuschreiben verwenden (müssen die Neuschreibvorgänge zum Testen leeren):

 /** * Register a query variable to check against for loading a template. * * @param array $vars Registered query variables. * @return array (Maybe) filtered list of query variables. */ function wpdocs_add_query_var( $vars ) { $vars[] = 'my-template'; return $vars; } add_filter( 'query_vars', 'wpdocs_add_query_var' ); /** * Register an endpoint using the new query variable. */ function wpdocs_add_rewrite_rule() { add_rewrite_rule( 'link/([0-9]+)?$', 'index.php?my-template=1', 'top' ); } add_action( 'init', 'wpodcs_add_rewrite_rule' ); /** * Load a template based on the presence of a query variable in the request. * * @param string $template Template file. * @return string (Maybe) filtered template file path. */ function wpdocs_load_page_template( $template ) { if ( ! is_admin() ) { if ( get_query_var( 'my-template' ) ) { $template = get_template_directory() . '/my-template.php'; } } return $template; } add_filter( 'template_include', 'wpdocs_load_page_template' );