web-dev-qa-db-fra.com

Utiliser le modèle de la catégorie parent pour les sous-catégories de publication unique

J'ai des modèles de publication unique dans un dossier de mon thème enfant marqué "unique". J'ai besoin des sous-catégories pour utiliser le même modèle que leur parent. J'ai lu une douzaine de tutoriels qui avaient tous plus de 3 ans et ne semblent plus fonctionner. Alors, quelle est la bonne façon de procéder? Voici ce que j'essayais.

function pa_category_top_parent_id ($catid) {
 while ($catid) {
  $cat = get_category($catid); // get the object for the catid
  $catid = $cat->category_parent; // assign parent ID (if exists) to $catid
  // the while loop will continue whilst there is a $catid
  // when there is no longer a parent $catid will be NULL so we can assign our $catParent
  $catParent = $cat->cat_ID;
}
return $catParent;
}
define(SINGLE_PATH, STYLESHEETPATH . '/single');
/**
* Filter the single_template with our custom function
*/
add_filter('single_template', 'my_single_template');
/**
* Single template function which will choose our template
*/
function my_single_template($single) {
 global $wp_query, $post;
 foreach((array)get_the_category() as $cat) :
    $categoriapadre= pa_category_top_parent_id ($cat);
    if(file_exists(SINGLE_PATH . '/single-cat-' . $cat->slug . '.php'))
    return SINGLE_PATH . '/single-cat-' . $cat->slug . '.php';
    elseif(file_exists(SINGLE_PATH . '/single-cat-' . $categoriapadre . '.php'))
    return SINGLE_PATH . '/single-cat-' . $categoriapadre . '.php';

  endforeach;
 return $single;
}
1
Pollux Khafra

Vous devriez essayer d'utiliser la hiérarchie WordPress au lieu de singe-cat-.

Créez votre modèle de catégorie parent à l'aide de category.php ou category-{slug}.php, puis utilisez la technique ici, http://codex.wordpress.org/User:MichaelH/MyPlugins .

Ou pour plus d'options, essayez ce plugin, http://wordpress.org/extend/plugins/category-template-hierarchy/

0
Wyck