Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
1 / 1 / 1
Регистрация: 20.05.2015
Сообщений: 46

Отображение виджета в рубриках

14.06.2017, 12:08. Показов 675. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток.
Столкнулся с проблемой и пока не могу ее решить. В файле function.php добавил новую область для виджета 'arhive-widget-area'.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function twentyseventeen_widgets_init() {
    register_sidebar( array(
        'name'          => __( 'Sidebar', 'twentyseventeen' ),
        'id'            => 'sidebar-1',
        'description'   => __( 'Add widgets here to appear in your sidebar.', 'twentyseventeen' ),
        'before_widget' => '<section id="%1$s" class="widget %2$s">',
        'after_widget'  => '</section>',
        'before_title'  => '<h2 class="widget-title">',
        'after_title'   => '</h2>',
    ) );
//и после этого блока вставляем свою область
// Область виджетов на странице архивов
    register_sidebar(array(
        'name' => __('Виджеты для страницы архивов'),
        'id' => 'arhive-widget-area',
        'description' => __('Виджеты для страницы архивов'),
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '<h3><a href="#">',
        'after_title' => '</a></h3>',
    ));
}
add_action( 'widgets_init', 'twentyseventeen_widgets_init' );
В файле archive.php в нужном месте вставил
HTML5
1
2
3
4
5
    <!-- Виджет рубрик -->  
 <div class="blog_widjet">    
<?php if (!dynamic_sidebar("arhive-widget-area") ) : ?> 
<div style="float:right;width:500px;height:60px; margin-bottom:20px;margin-top:20px;"><img src="/img/banner.png" /></div> 
</div><!-- #Виджет рубрик -->
Все супер, все работает и выводит. Но есть проблемка!!! ((( Мне необходимо чтобы этот виджет срабатывал грубо говоря в категория рубрик /category/blog и /category/news, но не появлялся в категории /category/rubrica Виджет - меню подрубрик, взят из стандартного набора wordpress "Рубрики"

Или есть еще какие то мысли как вывести на страницах определенного блога меню подрубрик?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.06.2017, 12:08
Ответы с готовыми решениями:

Как навести мышку на x,y внутри виджета относительно 0,0 виджета (левого верхнего угла виджета)?
Как навести мышку на x,y внутри виджета относительно 0,0 этого виджета (левого верхнего угла виджета)? Или, как получить координаты x,y...

Отображение виджета
Здравствуйте! Уже несколько дней ломаю голову над багом который вылазит наверное только на моем сайте. Я пытаюсь установить нормально...

Рекурсия + отображение виджета
есть объект кнопка и виджет и значение количества раз нажатий на кнопку, нужно создать рекурсивную функцию, которая в зависимости от...

5
 Аватар для lestat89
29 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
14.06.2017, 12:16
Ветка не про CMS, поэтому как вариант через проверку
PHP
1
2
3
4
if(getenv("REQUEST_URI") != "/category/rubrica"))
{
    // Выводим
}
0
1 / 1 / 1
Регистрация: 20.05.2015
Сообщений: 46
14.06.2017, 13:14  [ТС]
lestat89,
Я правильно тебя понял?
PHP
1
2
3
4
5
<?php if(getenv("REQUEST_URI") != "/category/rubrica"))
{
    // Выводим
 echo (!dynamic_sidebar("arhive-widget-area") ): 
}?>
Добавлено через 38 минут
И так тоже не робит
PHP
1
<?php if($_SERVER['REQUEST_URI'] = '/category/blog') echo (!dynamic_sidebar("arhive-widget-area") );?
По идеи если страница = /category/blog , то покажи сайд бар, но все равно не робит(
0
 Аватар для lestat89
29 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
14.06.2017, 13:43
Должно работать 100%.
Проблема, возможно в условии. Предлагаю сделать так:
PHP
1
2
3
4
5
6
<?php if(getenv("REQUEST_URI") != "/category/rubrica"))
{
    // Выводим
echo "<pre>REQUEST_URI: ".getenv("REQUEST_URI")."</pre>";
 echo (!dynamic_sidebar("arhive-widget-area") ): 
}?>
Посмотреть что выводит и скорректировать условие

Добавлено через 3 минуты
Цитата Сообщение от DNikolaev Посмотреть сообщение
f($_SERVER['REQUEST_URI'] = '/category/blog')
и тут тоже ошибка
== логическое равно
= присваивание

На счет
PHP
1
 (!dynamic_sidebar("arhive-widget-area"))
тоже есть сомнения. В WP не ориентируюсь по памяти
0
1 / 1 / 1
Регистрация: 20.05.2015
Сообщений: 46
15.06.2017, 10:16  [ТС]
lestat89, Мда, что то все перепробовал, ничего не выводит, просто белый лист, такое ощущение что в цикл входит и не знает куда выйти.

Может есть еще предложения для размышления?

Добавлено через 37 минут
Решил, поступил проще нашел тут https://site-style.by/raznye-s... c-zapisej/

Создать файл шаблона и назвать его «single-slug.php» или «single-id.php» slug и id это ярлык и идентификатор поста;
Сделать копию файла «single.php» и назвать её, к примеру, «single-default.php» тем самым мы разграничим все посты по шаблонам для удобства.
Открыть файл «single.php», удалить все содержимое и вставить следующий код:
Вариант 1 — ID категории(рубрики) в которой находится запись
PHP
1
2
3
4
5
6
7
8
9
<?php
  $post = $wp_query->post;
 
  if (in_category('32')) { //ID категории
      include(TEMPLATEPATH.'/single-portfolio.php');
  } else {
      include(TEMPLATEPATH.'/single-default.php');
  }
?>
Вариант 2 — slug(Ярлык) категории(рубрики) в которой находится запись
PHP
1
2
3
4
5
6
7
8
9
<?php
  $post = $wp_query->post;
 
  if (in_category('portfolio')) { //slug  категории
      include(TEMPLATEPATH.'/single-portfolio.php');
  } else {
      include(TEMPLATEPATH.'/single-default.php');
  }
?>
0
 Аватар для lestat89
29 / 41 / 10
Регистрация: 12.09.2012
Сообщений: 334
15.06.2017, 12:42
Цитата Сообщение от DNikolaev Посмотреть сообщение
Мда, что то все перепробовал, ничего не выводит, просто белый лист, такое ощущение что в цикл входит и не знает куда выйти.
Цикла в этой записи нет, а если бы был выдавало соответствующее сообщение. Белый экран - это скорее всего фатальная ошибка (синтаксис, не существующая функция), показ которой отключен. Включите показ этих ошибок, например через htaccess в лог ошибок (гугл в помощь) и сразу будет понятно что не так.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.06.2017, 12:42
Помогаю со студенческими работами здесь

PyQt5 | Отображение виджета во фрейме
Доброго времени суток. Столкнулся со следующей проблемой: у меня есть виджет, который рисует текст, и фрейм, в котором нужно этот текст...

Как добраться до виджета, который находится внутри другого виджета?
Есть QStackWidget, внутри которого на одной из страниц-виджетов находится QTabWidget. https://ibb.co/emgxd8 Как подобраться к...

Почему заголовок виджета показывается ниже чем текст виджета
Создал зону виджетов. Создал шорткод. Шорткод вставляю в текстовый виджет. Заголовок виджета почему-то отображается внизу «тела» виджета....

Чтение URL адресса из окна виджета и открытие его браузером при нажатии кнопки виджета
#Как считать url со строки ввода в виджете что бы потом при нажатии кнопки виджета открыть этот url браузером. from tkinter...

Вызов одного виджета из другого виджета
добрый день, есть 2 формы, сделанные в дизайнере. По нажатию на кнопку из формы 1 хочу чтобы выводилась форма 2.Создал слот, слот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru