WordPress как на ладони
wordpress jino

Меню и контент

Здравствуйте! У меня возникла проблема. Надеюсь на вашу помощь.

В сайдбар сайта я хочу выводить три раздела (катигории) - видео, статьи, акции. Эти разделы также служат как пункты меню, при клике открывается страница этой категории. Под каждым разделом я хотел постоянно выводить недавно опобликовани информацию. Например во "Видео", последнее добавлено видео. В разделе "Статьи" - недавно добавленные статьи, вернее заголовки, которые служат ссылками на статью, отображаются в виде списка. Подобно и раздел "Акции". Я сделал так, каждый раздел это категория, поэтому я создал три области меню в сайдбаре, создал меню и соответствующие категории, категории привязал к меню. Затем по ID соответствующей категории вывел недавно добавленные публикации. И все работало, но когда я начал добавлять другой язык, то перестало. Я установил плагин Polylang, он продублировал категории, ID категории изменился.

Как мне теперь сделать так, чтобы переключая язык, отображалась определенная категория на том языке на котором мой сайт сейчас, и под соответствующим разделом? По ID это невозможно сделать. Возможно эти разделы можно одной областью, а не тремя отдельными разместить? Но как каждый пункт отдельно в определенной части сайдбара отразить, я не знаю?

Возможно пункт меню который связан с определенной категорией, и передает ее ID при смене языка, можно вытащить, а потом уже по этому ID выводить видео и заголовки статей?

Вот код:

  1. Я передаю пункт определенного меню (здесь wp_get_nav_menu_items('Відео')) меню в виде ссылки.
<?php if( $menu_items = wp_get_nav_menu_items('Відео') ) { 
$menu_list = ''; 
foreach ( (array) $menu_items as $key => $menu_item ) { 
$title = $menu_item->title; 
$url = $menu_item->url; 
$menu_list = '<a href="' . $url . '">' . $title . '</a>'; 
} 
echo $menu_list; 
} ?> 

Мне кажется, что это неправильно, привязка к конкретному меню. Возможно это реализовать по другому?

  1. Я вывожу последний пост из этой категории, в которой ID = 20. Переключив язык эта категория имеет совсем другой ID, ID = 46.
<?php $posts = get_posts ("category=20&orderby=date&numberposts=1"); ?> 
<?php if ($posts) : ?> 
<?php foreach ($posts as $post) : setup_postdata ($post); ?> 

<?php the_content(); ?> 

<?php 
endforeach; 
wp_reset_postdata(); 
?> 
<?php endif; ?> 

Помогите пожалуйста.

Это мой первый сайт на WordPress, поэтому очень нуждаюсь мудрого руководства. Предварительно благодарен! С уважением, Андрей!

0
Гость 1.7 года назад

Нет ответов на этот вопрос.

На вопросы могут отвечать только зарегистрированные пользователи. Регистрация. Вход.