Usando o arquivo de modelo para publicação única no multisite de subdiretório

Estou trabalhando em um site de subdiretório de um multisite (por exemplo, mainsite.domain.com/sub-directory-site). No site principal, configurei um sistema onde os usuários criam postagens e, dependendo de qual categoria são atribuídas, eles obtêm arquivos de modelo diferentes (por exemplo, ‘single-11.php’, onde 11 é o tag_id correspondente a uma categoria).

O meu problema é que eu quero usar esse mesmo sistema para o site do subdiretório, mas quando eu tento fazer isso, as páginas de publicação do subdiretório não carregam seus respectivos arquivos ‘single – *. Php’. Eles nem parecem carregar o arquivo ‘single.php’. Todos esses arquivos estão localizados dentro da mesma pasta do tema (por exemplo, … / themes / twentyten / single-11.php).

Atualmente, os modelos de postagem única do meu site são carregados pelo uso de um filtro no arquivo functions.php. É aproximadamente o seguinte código:

//Gets post cat slug and looks for single-[cat slug].php and applies it add_filter('single_template', create_function( '$the_template', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(TEMPLATEPATH . "/single-{$cat->slug}.php") ) return TEMPLATEPATH . "/single-{$cat->slug}.php"; } return $the_template;' ) ); 

Eu procurei por toda a internet e as páginas do Codex WP e ninguém parece ter abordado este problema. Ou eu vou sobre tudo errado (provavelmente o caso) ou não estou pesquisando corretamente. Qualquer conselho de qualquer jeito seria imensamente útil.

Solutions Collecting From Web of "Usando o arquivo de modelo para publicação única no multisite de subdiretório"

Use STYLESHEETPATH vez de TEMPLATEPATH . Você encontrará as definições no arquivo wp-includes/default-constants.php . Por favor, veja. Então seu bloco de código será como abaixo –

 //Gets post cat slug and looks for single-[cat slug].php and applies it add_filter('single_template', create_function( '$the_template', 'foreach( (array) get_the_category() as $cat ) { if ( file_exists(STYLESHEETPATH . "/single-{$cat->slug}.php") ) return STYLESHEETPATH . "/single-{$cat->slug}.php"; } return $the_template;' ) ); 

Espero que ajude você.