Как получить ссылку на подкатегорию пользовательских сообщений
Я пытаюсь повторить ссылку на подкатегорию пользовательских сообщений в качестве дополнительной опции.Всю последнюю неделю я пытаюсь это сделать, но просто не могу найти правильный путь. Я пробовал, ссылки на категории, термины, с аргументами, идентификатором..все, что я мог придумать или найти здесь. В настоящее время единственный способ показать это с помощью идентификатора, но здесь мне придется добавить номер, а это не тот вариант, который я хочу. Так что позвольте мне дать вам больше информации.
Сначала я создал пользовательские записи (обратите внимание, что я удалил некоторые параметры здесь потому что они не нужны, поэтому, чтобы сделать его короче)
$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 );
}
Затем я создал виджет, который будет отображать их. Это виджет с вкладками, поэтому я не буду добавлять все параметры вкладок, потому что все они одинаковы, меняется только число от 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
);
Затем в настройках виджета я сделал опцию, чтобы пользователь мог выбрать заголовок, категорию и количество сообщений, которые он хочет показать, из выбранной пользовательской категории сообщений. Не могу опубликовать это здесь, не нарушив его, поэтому здесь http://pastebin.com/hjpdrdnA
И последнее - это фактический цикл, который отображает эти сообщения в виджете
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
} ?>
Для примера в этом коде со ссылкой на термин перечислены все категории, но я хочу только ту, которая выбрана в разделе tab1 и находится здесь $fix_name1
Http://codex.wordpress.org/Function_Reference/get_term_link - здесь для терминов я добавил общую категорию, такую как get_terms('fixs_cat')
//Что-то короткое вроде этого echo $fix_cat1; отображает необходимую категорию, но в ссылке отсутствует основная пользовательская категория публикации, она должна быть выбрана как "приспособление/категория", и это показывает только /выбранную категорию.
//это делает то же самое из того же примера кода
{[4]}
Есть идеи, как это решить?
1 answers
Это лучшее, что я мог сделать. Это дает то, что нужно, но, как я уже сказал, он отображает категорию в URL вместо того, что должно быть "приспособлением". Тем не менее, работает нормально. term_id;//категория $category_link =get_category_link($CATID); ?> "заголовок="Название категории">Просмотреть больше