okwell

okwell
Рейтинг
81
Регистрация
12.07.2012

lakai11, у вас там ошибка:

Uncaught Error: Bootstrap's JavaScript requires jQuery version 1.9.1 or higher
lakai11:
потом перестало работать

вероятно после установки "Sergey AnythingSlider", который подгружает jQuery версии 1.8.3

ИМХО лучше найти хорошую адаптивную тему, которая вам по душе и изменить ее по вашим требованиям

Эдуардoff:
Это очевидно микроразметка какая-то

а именно http://schema.org/Recipe

Эдуардoff:
гугл может

яндекс тоже

рекомендации яндекса насчет этого: https://yandex.ru/support/webmaster/supported-schemas/recipe.xml

можно вот так например: https://jsfiddle.net/okwell/uye5ehpn/

Типа http://fontawesome.io/? Или я вас неправильно понял?

Fugu, здесь есть способы с использованием и без использования плагинов

Niko1a1, функция get_template_part() вам в помощь

тег ul нужно было закрыть сразу после цикла, видимо поспешил. Правильно будет так:


<h1>Статьи</h1>
<ul>
<?php foreach ( $posts as $post ): setup_postdata($post);
$atitle = get_post_meta($post->ID, 'atitle_id', true);
?>
<li><a href="<?php the_permalink(); ?>"><?php if ( $atitle ) echo("$atitle"); else the_title(); ?></a></li>

<?php endforeach; wp_reset_postdata(); ?>
</ul>
<?php get_footer(); ?>
Sly32:
Надо еще и страницы добавить, чтоб полная карта вышла.

Да, еще можно добавить рубрики, метки и другие таксономии, при их наличии:


<?php get_header(); ?>
<?php
$posts = get_posts( array(
'numberposts' => -1,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => array('post')

) );
$tags = get_terms( 'post_tag' );
$categories = get_terms( 'category' );
$current_id = $post->ID;
?>
<h2>Статьи</h2>
<ul>
<?php foreach ( $posts as $post ): setup_postdata($post);
$atitle = get_post_meta($post->ID, 'atitle_id', true);
?>
<li><a href="<?php the_permalink(); ?>"><?php if ( $atitle ) echo("$atitle"); else the_title(); ?></a></li>
<?php endforeach; wp_reset_postdata(); ?>
</ul>

<h2>Страницы</h2>
<ul>
<?php wp_list_pages("exclude=$current_id&title_li="); ?>
</ul>

<h2>Рубрики</h2>
<ul>
<?php foreach ( $categories as $category ): $link = get_term_link( $category->term_id, 'category' ); ?>
<li><a href="<?php echo("$link"); ?>"><?php echo($category->name); ?></a></li>
<?php endforeach; ?>
</ul>

<h2>Метки</h2>
<ul>
<?php foreach ( $tags as $tag ): $link = get_term_link( $tag->term_id, 'post_tag' ); ?>
<li><a href="<?php echo("$link"); ?>"><?php echo($tag->name); ?></a></li>
<?php endforeach; ?>
</ul>

<?php get_footer(); ?>

Код выводит список записей с альтернативными заголовками, страниц, за исключением текущей страницы, рубрик и меток.

demon2005,

demon2005:
Или каким иным методом это можно сделать, кроме как составить карту вручную и каждый раз при добавлении нового материала её редактировать?

Приведу пример без использования плагинов.

1. Создаем новое поле на странице редактирования записи. Для этого добавим следующий код в файл functions.php, который находится в папке темы:


add_action('add_meta_boxes', 'custom_box');

function custom_box(){
add_meta_box('alt-title','Альтернативное название записи','display_my_box','post','normal');
}

function display_my_box ($post) {
$atitle = get_post_meta($post->ID, 'atitle_id', true);
wp_nonce_field('nonce_id', 'nonce_name');
?>
<div>
<label for="atitle_id">Альтернативное название записи:</label>
<input class="widefat" type="text" name="atitle_id" size="30" id="atitle_id" value="<?php echo $atitle; ?>" spellcheck="true" />
</div>
<?php
}
add_action('save_post', 'save_func');

function save_func($post_id) {
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return;
if (!isset($_POST['nonce_name']) || !wp_verify_nonce($_POST['nonce_name'], 'nonce_id')) return;
if (isset($_POST['atitle_id']) && $_POST['atitle_id'] != ''){
update_post_meta($post_id, 'atitle_id', esc_html($_POST['atitle_id']));
}
}

После этого на странице редактирования записи появится новое поле с названием "Альтернативное название записи". Сохраните в это поле альтернативное название

2. Создаем новый файл с названием page-sitemap.php и сохраняем в папку темы (в то же место, где functions.php).

3. Вставим следующий код в файл page-sitemap.php


<?php
/*
Template Name: Sitemap
*/
?>

<?php get_header(); ?>
<?php
$posts = get_posts( array(
'numberposts' => -1,
'orderby' => 'date',
'order' => 'DESC',
'post_type' => array('post')

) );
?>
<h1>Статьи</h1>
<ul>
<?php foreach ( $posts as $post ): setup_postdata($post);
$atitle = get_post_meta($post->ID, 'atitle_id', true);
?>
<li><a href="<?php the_permalink(); ?>"><?php if ( $atitle ) echo("$atitle"); else the_title(); ?></a></li>

<?php endforeach; wp_reset_postdata(); ?>
<?php get_footer(); ?>
</ul>

Этот код генерирует список ссылок с альтернативными заголовками всех записей. При отсутствии альтернативного заголовка выводится настоящий заголовок записи.

4. Создаем новую страницу "Карта сайта" (Админ-панель -> Страницы -> Добавить новую). В блоке "Атрибуты страницы" выберем шаблон "sitemap"

Страница может отображаться криво из-за отсутствия некоторых html блоков, которых вы можете найти в файле index.php

Обменял небольшую сумму wmz на киви. Всё четко. Спасибо ТС

Всего: 229