web-dev-qa-db-fra.com

Comment obtenir des liens personnalisés sous catégorie

J'essaie de faire écho au lien de sous-catégorie des publications personnalisées en tant qu'option de visualisation. Pour la semaine dernière, j'essaie de le faire, mais je ne parviens pas à trouver le bon chemin. J'ai essayé, les liens de catégorie, les termes, avec les arguments, id .. tout ce que je pourrais penser ou trouver ici. La seule façon de montrer actuellement est avec l'identifiant, mais ici, je vais devoir ajouter un nombre, ce qui n'est pas l'option que je veux. Alors laissez-moi vous donner plus d'informations.

D'abord, j'ai créé des messages personnalisés (notez que j'ai supprimé certaines options ici car elles ne sont pas nécessaires, donc pour le rendre plus court)

 
$args = array(       
        'taxonomies' => array( 'category', 'post_tag', 'fixture' ),
        'public' => true,
        'show_in_menu' => true,
        'publicly_queryable' => true,
        'has_archive' => true,
        'query_var' => true,
        'rewrite' => true,
        'query_var' => true,
        'capability_type' => 'post'
    );
register_taxonomy(
    'fixs_cat',
    'match',
    array(
      'label' => __( 'Fixture Categories', 'ko-text' ),
      'rewrite' => array( 'slug' => 'fixture' ),
      'hierarchical' => true,
      'query_var' => true
    )
  );
register_post_type( 'match', $args );
}
 

Ensuite, j'ai créé un widget qui les affichera. C'est un widget à onglets donc je ne vais pas ajouter toutes les options d'onglets car elles sont toutes identiques, seul le nombre change de 1 à 10.

 
public function widget( $args, $instance )
/* Widget variables. */
        $fix_name1 = $instance['fix_name1'];
        $fix_cat1 = $instance['fix_cat1'];
        $fix_num1 = $instance['fix_num1'];

        $fix_name2 = $instance['fix_name2'];
        $fix_cat2 = $instance['fix_cat2'];
        $fix_num2 = $instance['fix_num2'];
 

public function form( $instance ) {
TODO: Define default values for your variables
$defaults = array( 
'sort' => 'latest', 
'$fix_name1' => 10, 
'$fix_name2' => 10, 
        );
        $instance = wp_parse_args(
            (array) $instance
        );

Ensuite, dans le paramétrage du widget, j'ai sélectionné l'option permettant à l'utilisateur de sélectionner le titre, la catégorie et le nombre de publications qu'il souhaite afficher dans la catégorie de publications personnalisées sélectionnée. Ne peut pas poster ici, sans le casser alors ici http://Pastebin.com/hjpdrdnA

Et la dernière chose est la boucle réelle qui affiche ces messages dans un widget

 
if($fix_name1) { ?>
 'match', 
'posts_per_page' => $fix_num1, 
'tax_query' => array(
 array( 'taxonomy' => 'fixs_cat',
 'field' => 'slug',
  'terms' => $fix_cat1 ))
  )); while($recent->have_posts()) : $recent->the_post();?>     
//Stuff to display
 
 } ?>

Pour un exemple, ce code avec terme link liste toutes les catégories, mais je veux seulement celui qui est sélectionné sous tab1 et qui est ici $ fix_name1

http://codex.wordpress.org/Function_Reference/get_term_link - ici pour les termes, j'ai ajouté une catégorie générale comme get_terms ('fixs_cat')

// Quelque chose de court comme ça echo $ fix_cat1; affiche la catégorie souhaitée mais la principale catégorie de publication personnalisée est manquante dans le lien; il devrait alors s'agir d'un appareil/d'une catégorie et afficher uniquement la catégorie/sélectionnée.

// cela fait la même chose à partir du même exemple de code

 
$fixs = get_terms('fixs_cat'); 
foreach($fixs as $fix) { ?>
if ($fix->slug == $fix_cat1) 

Des idées pour résoudre ça?

1
Max

C'est le mieux que je puisse faire. Il donne ce qui est recherché, mais comme je l'ai dit, il affiche la catégorie dans l'URL à la place de ce qui devrait être "fixture". Cela fonctionne quand même bien. term_id; // catégorie $ lien_catégorie = get_category_link ($ catID); ?> "title =" Nom de la catégorie "> Voir plus

0
Max