Допустим, я делаю сайт об автомобилях, и в основной области контента страницы (с использованием определенного шаблона) есть несколько абзацев о конкретной машине.
В боковой панели есть несколько стандартных виджетов. Но мне также нужен виджет с "информационной панелью" о конкретной машине.
Так каков самый разумный способ добавить виджет на страницу в Wordpress? Я думаю, что в идеале информационная панель может быть введена через стандартное редактирование страниц в Wordpress ... возможно, через пользовательские поля, так что вы можете ввести "Volvo" в поле "Производитель", и оно появится на боковой панели. (или это что-то, что плагин уже покрывает?)
Вы хотите Плагин логики виджетов , если вы собираетесь использовать виджеты для этого. Однако, как вы уже догадались, это не лучший способ сделать это. Я думаю, что лучший способ достичь того, что вы хотите сделать, - это создать собственный виджет, который будет получать доступ к информации о сообщениях, если обнаружит, что он находится на правильной странице. Что-то вроде этого:
global $wp_query;
$custom_data = get_post_meta( $wp_query->post->ID, 'your_custom_postmeta_key', true );
if( is_page() && !empty( $custom_data ) ){
echo $before_widget . $before_title . $title . $after_title;
echo apply_filters( 'the_content', $custom_data );
echo $after_widget;
}
Если вы вставите это в нормальную структуру виджета , это будет довольно эффективно при создании постраничного виджета, который появляется, только если вы находитесь на странице, и эта страница имеет мета-контент, относящийся к виджету. В этот момент вы можете просто использовать настраиваемые поля, которые WordPress уже предоставляет на страницах, для ввода пользовательского содержимого.
Есть несколько плагинов, которые позволяют вам сделать это. контекстные виджеты например. Другой способ - создать другую боковую панель для шаблона "страница"/"публикация".
Другой способ - поместить статический код в ваш sidebar.php, который проверяет, находитесь ли вы на "странице" или "одиночном" и, если да, "печатает" информацию, введенную вами в пользовательских полях.
Я могу успешно управлять отображением виджетов с помощью плагина Widget Contextxts For WordPress . Мне нравится, как Semiologic Pro делает это. Это плагин на основе членства, так что понятия не имею, если это то, что вы ищете:
Он предоставляет набор параметров отображения для всех виджетов на любой боковой панели.
Вы можете использовать это: http://wordpress.org/extend/plugins/per-page-widgets/