Intereting Posts
Ограничить определенные действия только для страниц меню только для плагина Перенаправление не вошедших в систему пользователей, если они находятся на определенной странице Обслуживание wp-включает (front-end) javascript из другого домена? Убедитесь, что в массиве сообщений есть сообщения из определенной категории Ошибка при редактировании категории пользовательских сообщений? WooCommerce аргумент hook coupon NULL при использовании фильтра woocommerce_get_shop_coupon_data Фильтрация списка комментариев администратора для отображения только комментариев от текущего пользователя? Запрос пользовательских типов сообщений по дате (настраиваемое поле) Избегайте бесконечных циклов Часовой пояс по умолчанию жестко закодирован как UTC? Отфильтрованное содержимое отображается в выдержке Удерживание постоянной позиции Проблемы безопасности с сайтами WP Правильный способ хранения большого количества настраиваемых почтовых полей Где определено расположение темы для главного меню в шаблоне WordPress?

условные теги для вывода плагина

Я все еще довольно новичок-разработчик, поэтому небольшие проблемы, подобные этому, время от времени заставляют меня стоять неподвижно.

Я в основном построил пользовательский плагин для отображения PDF-изображений рядом со ссылкой, которую я знаю очень просто, но моя проблема в том, что текст $ title1 должен быть другого цвета на определенных шаблонах страниц, поэтому я пытаюсь изменить код вывода с условным, но он, похоже, не анализируется в браузере.

код теперь анализируется, если условный только div .menu-widget div выводится на все шаблоны страниц, а не заменяет .white, что позволяет мне стилизовать его с помощью css.

константа IMAGES определена в файле functions.php.

Вот мой код

class donor_pdf_plugin extends WP_Widget { // Constructor function donor_pdf_plugin() { parent::WP_Widget(false, $name = __('Pdf footer description', 'donor_pdf_plugin')); } // Widget form creation function form($instance) { // Check values if($instance) { $link = esc_attr($instance['link']); $link1 = esc_attr($instance['link1']); $link2 = esc_attr($instance['link2']); $link3 = esc_attr($instance['link3']); $title = esc_attr($instance['title']); $title1 = esc_attr($instance['title1']); $title2 = esc_attr($instance['title2']); $title3 = esc_attr($instance['title3']); } else { $link = ''; $link1 = ''; $link2 = ''; $link3 = ''; $title = ''; $title1 = ''; $title2 = ''; $title3 = ''; } ?> <p> <label for="<?php echo $this->get_field_id('link'); ?>"><?php _e('Menu link', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('link'); ?>" name="<?php echo $this->get_field_name('link'); ?>" type="text" value="<?php echo $link; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('link1'); ?>"><?php _e('Menu link1', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('link1'); ?>" name="<?php echo $this->get_field_name('link1'); ?>" type="text" value="<?php echo $link1; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('link2'); ?>"><?php _e('Menu link2', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('link2'); ?>" name="<?php echo $this->get_field_name('link2'); ?>" type="text" value="<?php echo $link2; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('link3'); ?>"><?php _e('Menu link3', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('link3'); ?>" name="<?php echo $this->get_field_name('link3'); ?>" type="text" value="<?php echo $link3; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Menu title', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo $title; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('title1'); ?>"><?php _e('Menu title1', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title1'); ?>" name="<?php echo $this->get_field_name('title1'); ?>" type="text" value="<?php echo $title1; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('title2'); ?>"><?php _e('Menu title2', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title2'); ?>" name="<?php echo $this->get_field_name('title2'); ?>" type="text" value="<?php echo $title2; ?>" /> </p> <p> <label for="<?php echo $this->get_field_id('title3'); ?>"><?php _e('Menu title3', 'wp_widget_plugin'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title3'); ?>" name="<?php echo $this->get_field_name('title3'); ?>" type="text" value="<?php echo $title3; ?>" /> </p> <?php // end of widget form creation ?> <?php } // Widget update function update($new_instance, $old_instance) { $instance = $old_instance; // Fields $instance['link'] = strip_tags($new_instance['link']); $instance['link1'] = strip_tags($new_instance['link1']); $instance['link2'] = strip_tags($new_instance['link2']); $instance['link3'] = strip_tags($new_instance['link3']); $instance['title'] = strip_tags($new_instance['title']); $instance['title1'] = strip_tags($new_instance['title1']); $instance['title2'] = strip_tags($new_instance['title2']); $instance['title3'] = strip_tags($new_instance['title3']); return $instance; } // Widget display function widget($args, $instance) { extract($args); $link = $instance['link']; $link1 = $instance['link1']; $link2 = $instance['link2']; $link3 = $instance['link3']; $title = $instance['title']; $title1 = $instance['title1']; $title2 = $instance['title2']; $title3 = $instance['title3']; if(!is_home()) { echo "<div class=\"menu-widget\"> <p><a href=\"$link\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\"> $title</a></p> <p><a href=\"$link1\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title1</span></a></p> <p><a href=\"$link2\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title2</a></p> <p><a href=\"$link3\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title3</a></p> </div>"; } else { echo "<div class=\"white\"> <p><a href=\"$link\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\"> $title</a></p> <p><a href=\"$link1\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title1</span></a></p> <p><a href=\"$link2\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title2</a></p> <p><a href=\"$link3\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title3</a></p> </div>"; } } } // Register widget add_action('widgets_init', create_function('', 'return register_widget("donor_pdf_plugin");')); ?> 

код, который не был проанализирован, – это бит.

 } else { echo "<div class=\"white\"> <p><a href=\"$link\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\"> $title</a></p> <p><a href=\"$link1\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title1</span></a></p> <p><a href=\"$link2\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title2</a></p> <p><a href=\"$link3\"><img src=\"" . IMAGES . "/pdf.png\"/><span class=\"pdf-description\">$title3</a></p> </div>"; } 

Вы не ошибаетесь, скорее всего, единственная проблема заключается в том, что вы используете is_home() когда вам нужна is_front_page .

Однако, просто для подсказки, я хочу показать, как ваш код может быть скомплектован:

 class donor_pdf_plugin extends WP_Widget { static $fields = array(); // Constructor function donor_pdf_plugin() { self::$fields = array( 'link' => __('Menu link', 'wp_widget_plugin'), 'link1' => __('Menu link 1', 'wp_widget_plugin'), 'link2' => __('Menu link 2', 'wp_widget_plugin'), 'link3' => __('Menu link 3', 'wp_widget_plugin'), 'title' => __('Menu title', 'wp_widget_plugin'), 'title1' => __('Menu title 1', 'wp_widget_plugin'), 'title2' => __('Menu title 2', 'wp_widget_plugin'), 'title3' => __('Menu title 3', 'wp_widget_plugin'), ); parent::WP_Widget(false, $name = __('Pdf footer description', 'donor_pdf_plugin')); } // Widget form creation function form($instance) { foreach ( self::$fields as $field => $label) { $value = isset($instance[$field]) ? esc_attr($instance[$field]) : ''; $id = $this->get_field_id($field); printf( '<p><label for="%s">%s</label>', $id, esc_html($label) ); $format = '<input class="widefat" id="%s" name="%s" type="text" value="%s"/></p>'; printf( $format, $id, $this->get_field_name($field), esc_attr($value) ); } } // Widget update function update($new_instance, $old_instance) { return array_map('sanitize_text_field', $new_instance); } // Widget display function widget($args, $instance) { $class = is_front_page() ? 'white' : 'menu-widget'; printf('<div class="%s">', $class); $format = '<p><a href="%s"><img src="%s"/><span class="pdf-description">%s</a></p>'; $icon = IMAGES . '/pdf.png'; for ($i=0; $i<4; $i++) { $u = $i == 0 ? '' : $i; if ( empty($instance['link' . $u]) || empty($instance['title' . $u]) ) continue; printf($format, esc_url($instance['link' . $u]), $icon, $instance['title' . $u]); } echo '</div>'; } }