Нам нравится WordPress, но не все из нас готовы принять все его настройки по умолчанию — в частности, то, как отображаются Записи.

Поскольку нас учили, что уникальность важна для позиционирования сайта и она производит хорошее впечатление на посетителя, на протяжении лет блоггеры и разработчики искали пути изменения отображения Записи, чтобы сделать ее максимально уникальной.

Сегодня мы сконцентрируемся на трюках, которые вы можете использовать для улучшения отображения вашего WordPress поста. Хотите ли вы изменить вид поста для того, чтобы улучшить впечатление пользователя, или для увеличения дохода от просмотра страниц, вероятно, есть способ сделать это без плагина.

Большинство фрагментов кода, представленных здесь, легко внедрить, в большинстве случаев вам нужно просто скопировать и вставить предоставленный код. Надеюсь, эти способы будут полезны для ваших проектов, наслаждайтесь!

1. Изменение длины анонса записи

Измените длину отрывка, просто добавив представленные ниже строки кода в ваш файл functions.php. 75 в данном случае — значение длины отрывка.

add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($len) { return 75; }

2. Дата написания записи в стиле Twitter (2 дня назад)

Большинство не знает, что у WordPress есть встроенная функция для отображения даты в формате времени, прошедшего с момента написания поста (то есть, например "2 дня назад"), как в Twitter. Фрагмент кода, представленный ниже, можно вставить где угодно в Цикле (loop) чтобы отображать дату в этом формате.

Posted <?php echo human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago';

3. Отображение миниатюры записи в RSS ленте

Представленная в WordPress 2.9 функция the_post_thumbnail() очень удобна для добавления и отображения миниатюры к посту. Плохая новость в том, что нет встроенного метода для отображения миниатюры поста в вашей RSS-ленте. Представленная ниже функция решает эту проблему. Просто вставьте ее в ваш файл functions.php и сохраните его, и миниатюра поста автоматически будет отображаться в вашей RSS-ленте.

// show post thumbnails in feeds
function diw_post_thumbnail_feeds($content) {	global $post;	if(has_post_thumbnail($post->ID)) {		$content = '<div>' . get_the_post_thumbnail($post->ID) . '</div>' . $content;	}	return $content;}add_filter('the_excerpt_rss', 'diw_post_thumbnail_feeds');add_filter('the_content_feed', 'diw_post_thumbnail_feeds');

4. Ограничение поиска только по заголовкам записей

Вы можете добавить этот фрагмент в файл functions.php вашей WordPress темы, чтобы ограничить поиск только по заголовкам записей.

function __search_by_title_only( $search, &$wp_query )
  {
      if ( empty($search) )
      return $search; // skip processing - no search term in query
      $q =& $wp_query->query_vars;

      // wp-includes/query.php line 2128 (version 3.1)
      $n = !empty($q['exact']) ? '' : '%';
      $searchand = '';
      foreach( (array) $q['search_terms'] as $term ) {
      $term = esc_sql( like_escape( $term ) );
      $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
      $searchand = ' AND ';
  }
  $term = esc_sql( like_escape( $q['s'] ) );
  if ( empty($q['sentence']) && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s'] )
  $search .= " OR ($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
  if ( !empty($search) ) {
      $search = " AND ({$search}) ";
      if ( !is_user_logged_in() )
          $search .= " AND ($wpdb->posts.post_password = '') ";
      }
      return $search;
  }
add_filter( 'posts_search', '__search_by_title_only', 10, 2 );

5. Отображение номера для каждой записи

Вы можете отображать возрастающий номер каждого поста, и сделать это достаточно просто. Сначала вставьте следующую функцию в ваш файл functions.php:

function updateNumbers() {
    global $wpdb;
    $querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish' AND $wpdb->posts.post_type = 'post' ";
    $pageposts = $wpdb->get_results($querystr, OBJECT);
    $counts = 0 ;
    if ($pageposts):
    foreach ($pageposts as $post):
    setup_postdata($post);
    $counts++;
    add_post_meta($post->ID, 'incr_number', $counts, true);
    update_post_meta($post->ID, 'incr_number', $counts);
    endforeach;
    endif;
}

add_action ( 'publish_post', 'updateNumbers' );
add_action ( 'deleted_post', 'updateNumbers' );
add_action ( 'edit_post', 'updateNumbers' );

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

<?php echo get_post_meta($post->ID,'incr_number',true); ?>

6. Исключение записи из ленты новостей WordPress

Хотите исключить некоторые посты из вашей ленты? Вот решение для вас. Пожалуйста, обратите внимание, что вы должны фильтровать только то, что вы хотите фильтровать; в нашем примере это наша лента $wp_query->is_feed. Если вы не сделаете это таким образом, то фильтр будет также работать в серверной части, и эти посты не будут отображаться в обзоре постов.

У функции два параметра. Вы передаете в первый параметр $where строку SQL, которая займется фильтром по ID. Дальше, в скобках, вам нужно задать ID записей, которые вы хотите отфильтровать.

function fb_post_exclude($where, $wp_query = NULL) {
	global $wpdb;
	if ( !$wp_query )
		global $wp_query;
	if ($wp_query->is_feed) {
		// exclude post with id 40 and 9
		$where .= " AND $wpdb->posts.ID NOT IN (40, 9)";
	}
	return $where;
	}
add_filter( 'posts_where','fb_post_exclude', 1, 2 );

7. Редирект записи, когда поисковый запрос выдает один результат

Вставьте этот фрагмент кода в файл functions.php вашей WordPress темы для того, чтобы перенаправлять пользователя на пост автоматически, если WordPress поиск отдает только его в качестве результата.

add_action('template_redirect', 'single_result');
function single_result() {
	if (is_search()) {
		global $wp_query;
		if ($wp_query->post_count == 1) {
			wp_redirect( get_permalink( $wp_query->posts['0']->ID ) );
		}
	}
}

8. Автоматическое создание мета-описания Meta Description из The_content

Вставка этого фрагмента кода в файл functions.php вашей WordPress темы автоматически создаст meta description из вашего поста, отсекая шорткоды и теги. Также убедитесь, что у вас есть этот код в файле header.php, иначе этот фрагмент не будет работать.

function create_meta_desc() {
	global $post;
	if (!is_single()) { return; }
	$meta = strip_tags($post->post_content);
	$meta = strip_shortcodes($post->post_content);
	$meta = str_replace(array("\n", "\r", "\t"), ' ', $meta);
	$meta = substr($meta, 0, 125);
	echo "<meta name='description' content='$meta' />";
}
add_action('wp_head', 'create_meta_desc');

9. Автоматическая замена слов партнерскими ссылками

Чтобы заменить слова партнерскими ссылками автоматически, просто вставьте код ниже в ваш файл functions.php. Не забудьте вставить ваши слова / ссылки, как показано в примере ниже.

function replace_text_wps($text){
	$replace = array(
	// 'WORD TO REPLACE' => 'REPLACE WORD WITH THIS'
	'thesis' => '<a href="http://mysite.com/myafflink">thesis</a>',
	'studiopress' => '<a href="http://mysite.com/myafflink">studiopress</a>'
	);
	$text = str_replace(array_keys($replace), $replace, $text);
	return $text;
}

add_filter('the_content', 'replace_text_wps');
add_filter('the_excerpt', 'replace_text_wps');

10. Автоматическое добавление ссылки "Читать далее" в конце анонса записи

Добавление приведенного ниже фрагмента кода в файл functions.php вашей WordPress темы вставит постоянную ссылку "Читать далее" в конец the_excerpt, очень похоже на то, как ссылка в конце содержимого the_content:

function excerpt_readmore($more) {
	return '... <a href="'. get_permalink($post->ID) . '" class="readmore">' . 'Read More' . '</a>';
}
add_filter('excerpt_more', 'excerpt_readmore');

11. Отображение похожих записей без плагина

Код ниже позволяет вашему WordPress сайту показывать похожие посты, основываясь на тегах текущего поста. Вам нужно разместить его внутри single.php или просто где угодно, где вы хотите показать похожие посты.

<?php
    $tags = wp_get_post_tags($post->ID);
    if ($tags) {
    	$tag_ids = array();
    	foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
    	$args=array(
    	'tag__in' => $tag_ids,
    	'post__not_in' => array($post->ID),
    	'showposts'=>5, // Number of related posts that will be shown.
    	'caller_get_posts'=>1
    	);
    $my_query = new wp_query($args);
    	if( $my_query->have_posts() ) {
    		echo '<h3>Related Posts</h3><ul>';
    		while ($my_query->have_posts()) {
    			$my_query->the_post();
    			?>
    			<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
    		<?php
    		}
    		echo '</ul>';
    	}
    }
?>

12. Создание своих собственных "популярных записей" в сайдбаре

Установка виджета сайдбара для отображения похожих постов очень проста. Просто скопируйте и вставьте код ниже в ваш файл sidebar.php. Если вам нужно изменить количество отображаемых постов, вы можете изменить 5 в конце третьей строки на любое число, которое вам нравится.

<h2>Popular Posts</h2>
<ul>
	<?php $result = $wpdb->get_results("SELECT comment_count,ID,post_title FROM $wpdb->posts ORDER BY comment_count DESC LIMIT 0 , 5");
	foreach ($result as $post) {
		setup_postdata($post);
		$postid = $post->ID;
		$title = $post->post_title;
		$commentcount = $post->comment_count;
		if ($commentcount != 0) { ?>
			<li><a href="<?php echo get_permalink($postid); ?>" title="<?php echo $title ?>">
			<?php echo $title ?></a> {<?php echo $commentcount ?>}</li>
	<?php } } ?>
</ul>

13. Установка даты / времени срока актуальности записи

Ниже представлен полезный код, который вы можете вставить в вашу WordPress тему для того, чтобы включить возможность "срока годности" поста по дате и времени. Отредактируйте свою тему и замените ваш текущий WordPress цикл на этот "хакнутый" цикл:

<?php
if (have_posts()) :
	while (have_posts()) : the_post(); ?>
	$expirationtime = get_post_custom_values('expiration');
	if (is_array($expirationtime)) {
		$expirestring = implode($expirationtime);
	}
	$secondsbetween = strtotime($expirestring)-time();
	if ( $secondsbetween > 0 ) {
		// For exemple...   the_title();
		the_excerpt();
		}
	endwhile;
endif;
?>

Чтобы создать пост с датой/временем потери актуальности, вы можете просто создать свое поле. Передайте expiration в качестве ключа и вашу дату/время (формат: мм/дд/гг 00:00:00) в качестве значения. Пост теперь не будет показываться после определенного момента времени.

14. Список будущих записей

WordPress позволяет перечислять будущие посты, и чтобы получить эту возможность, просто вставьте код туда, где вы хотите отображать список будущих записей:

<div id="zukunft">
	<div id="zukunft_header"><p>Future events</p></div>
	<?php query_posts('showposts=10&post_status=future'); ?>
	<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

	<div>
		<p><strong><?php the_title(); ?></strong><?php edit_post_link('e',' (',')'); ?><br />
		<span class="datetime"><?php the_time('j. F Y'); ?></span></p>
	</div>

	<?php endwhile; else: ?><p>No future events scheduled.</p><?php endif; ?>
</div>

15. Отображение AdSense только для посетителей с поисковых систем

Можно показать AdSense только посетителям, пришедшим через поиск поисковых систем, и вот код для этого, просто вставьте его в файл functions.php вашей темы.

function scratch99_fromasearchengine(){
	$ref = $_SERVER['HTTP_REFERER'];
	$SE = array('/search?', 'images.google.', 'web.info.com', 'search.', 'del.icio.us/search', 'soso.com', '/search/', '.yahoo.');
	foreach ($SE as $source) {
		if (strpos($ref,$source)!==false) return true;
	}
	return false;
}

В массиве $SE вы определяете поисковые системы. Вы можете добавить новую поисковую систему, добавив элемент в массив, затем вставить код где угодно в шаблоне, где вы хотите показать рекламу AdSense, и все! Реклама будет отображаться только посетителям, пришедшим на сайт через поисковые системы.

if (function_exists('scratch99_fromasearchengine')) {
	if (scratch99_fromasearchengine()) {
		INSERT YOUR CODE HERE
	}
}

16. Дополнительные HTML теги в редакторе

По умолчанию, редактор WordPress не позволяет HTML теги, которые не совместимы со стандартом XHTML 1.0. Тем не менее, представленный ниже код заставит редактор поддерживать больше тегов. Вы можете вставить фрагмент кода в файл functions.php вашей темы, сохранить его, и функция будет работать.

function fb_change_mce_options($initArray) {
	// Comma separated string od extendes tags
	// Command separated string of extended elements
	$ext = 'pre[id|name|class|style],iframe[align|longdesc|name|width|height|frameborder |scrolling|marginheight|marginwidth|src]';
	if ( isset( $initArray['extended_valid_elements'] ) ) {
	$initArray['extended_valid_elements'] .= ',' . $ext;
	} else {
		$initArray['extended_valid_elements'] = $ext;
	}

	// maybe; set tiny paramter verify_html
	//$initArray['verify_html'] = false;
	return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');

17. Установка редактора по умолчанию

Представленный ниже фрагмент кода меняет редактор по умолчанию в консоли WordPress. Вы можете использовать Visual Editor или HTML Editor, просто добавьте один из них в файл functions.php.

# This sets the Visual Editor as default
add_filter( 'wp_default_editor', create_function('', 'return "tinymce";') );

# This sets the HTML Editor as default
add_filter( 'wp_default_editor', create_function('', 'return "html";') );

18. Установка разных стилей редактора для разных типов записей

С представленным ниже кодом, вставленным в ваш файл functions.php, вы можете установить разные таблицы стилей редактора для разных типов поста. Вам нужно будет адаптировать код в зависимости от ваших типов постов, и не забудьте также сменить названия таблиц стилей.

function my_editor_style() {
	global $current_screen;
	switch ($current_screen->post_type) {
		case 'post':
		add_editor_style('editor-style-post.css');
		break;

		case 'page':
		add_editor_style('editor-style-page.css');
		break;

		case 'portfolio':
		add_editor_style('editor-style-portfolio.css');
		break;
	}
}
add_action( 'admin_head', 'my_editor_style' );

19. Загрузка большего количества типов файлов

По определенной причине загрузчик WordPress не позволит вам загружать некоторые типы файлов, например .tmCommand. Если вам нужно загружать эти типы файлов на ваш сайт WordPress, вот функциональный фрагмент кода, который позволит вам это сделать. Вам нужно просто вставить его в ваш файл functions.php. Вы можете также добавить больше типов файлов, добавив их в строку 4, разделив при этом символом |.

<?php
	function addUploadMimes($mimes) {
	$mimes = array_merge($mimes, array(
		'tmbundle|tmCommand|tmDragCommand|tmSnippet|tmLanguage|tmPreferences' => 'application/octet-stream'
	));
	return $mimes;
   }
?>
add_filter('upload_mimes', 'addUploadMimes');

20. Включение редактора TinyMCE для правки анонса записи

Вставив этот фрагмент кода в файл functions.php вашей темы WordPress, вы активируете редактор TinyMC для поля ввода анонса записи.

function tinymce_excerpt_js(){ ?>
<script type="text/javascript">
	jQuery(document).ready( tinymce_excerpt );
	function tinymce_excerpt() {
	jQuery("#excerpt").addClass("mceEditor");
	tinyMCE.execCommand("mceAddControl", false, "excerpt");
	}
</script>
<?php }
add_action( 'admin_head-post.php', 'tinymce_excerpt_js');
add_action( 'admin_head-post-new.php', 'tinymce_excerpt_js');

function tinymce_css(){ ?>
<style type='text/css'>
	#postexcerpt .inside{margin:0;padding:0;background:#fff;}
	#postexcerpt .inside p{padding:0px 0px 5px 10px;}
	#postexcerpt #excerpteditorcontainer { border-style: solid; padding: 0; }
</style>
<?php }
add_action( 'admin_head-post.php', 'tinymce_css');
add_action( 'admin_head-post-new.php', 'tinymce_css');

21. Форматы записей — интересные вариации для темы

Представленный ниже синтаксис дает некоторые из возможных форматов постов, которые затем могут быть выбраны и использованы прямо в статье; и все, что вам нужно, это вставить код в файл functions.php вашей темы.

add_theme_support( 'post-formats', array( 'aside', 'audio', 'image', 'video' ) );

22. Отображение миниатюры при редактировании записи и обзоре страницы

WordPress версии 2.9 представил возможность добавления миниатюры поста. Это круто, и чтобы отображать миниатюру поста также при редактировании поста и обзоре страницы, вы можете вставить представленный код в Плагин или добавить его в файл functions.php темы.

if ( !function_exists('fb_AddThumbColumn') && function_exists('add_theme_support') ) {
// for post and page
add_theme_support('post-thumbnails', array( 'post', 'page' ) );
function fb_AddThumbColumn($cols) {
	$cols['thumbnail'] = __('Thumbnail');
	return $cols;
}

function fb_AddThumbValue($column_name, $post_id) {
    $width = (int) 35;
    $height = (int) 35;
    if ( 'thumbnail' == $column_name ) {
        // thumbnail of WP 2.9
        $thumbnail_id = get_post_meta( $post_id, '_thumbnail_id', true );

        // image from gallery
        $attachments = get_children( array('post_parent' => $post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image') );

        if ($thumbnail_id)
            $thumb = wp_get_attachment_image( $thumbnail_id, array($width, $height), true );
        elseif ($attachments) {
            foreach ( $attachments as $attachment_id => $attachment ) {
            $thumb = wp_get_attachment_image( $attachment_id, array($width, $height), true );
        }
    }
	if ( isset($thumb) && $thumb ) { echo $thumb; }
	else { echo __('None'); }
	}
}

// for posts
add_filter( 'manage_posts_columns', 'fb_AddThumbColumn' );
add_action( 'manage_posts_custom_column', 'fb_AddThumbValue', 10, 2 );

// for pages
add_filter( 'manage_pages_columns', 'fb_AddThumbColumn' );
add_action( 'manage_pages_custom_column', 'fb_AddThumbValue', 10, 2 );
}

23. Создание своего сообщения о статусе записи в Консоли

Изначально это было написано разработчиком как способ для клиента отображать свои сообщения для каждого созданного автором поста. В данном случае у вас могли бы быть сообщения по типу "Отклонен", "Ошибка", "Источник" и т.д. Вы можете менять сообщения сразу под комментарием "Array of custom status messages" в коде, также убедитесь, что вы изменили названия классов, которые вы можете изменить после комментария "change color of messages below".

add_filter('display_post_states', 'custom_post_state');
function custom_post_state($states) {
  global $post;
  $show_custom_state = get_post_meta($post->ID, '_status');
  if ($show_custom_state) {
  	$states[] = __('<span class="custom_state ' . strtolower($show_custom_state[0]) . '">' . $show_custom_state[0] . '</span>');
  }
  return $states;
}
add_action('post_submitbox_misc_actions', 'custom_status_metabox');

function custom_status_metabox() {
    global $post;
    $custom = get_post_custom($post->ID);
    $status = $custom["_status"][0];
    $i = 0;
    /* ----------------------------------- */
    /*   Array of custom status messages            */
    /* ----------------------------------- */
    $custom_status = array('Spelling', 'Review', 'Errors', 'Source', 'Rejected', 'Final', );
    echo '<div class="misc-pub-section custom">';
    echo '<label>Custom status: </label><select name="status">';
    echo '<option class="default">Custom status</option>';
    echo '<option>-----------------</option>';
        for ($i = 0; $i < count($custom_status); $i++) {
        if ($status == $custom_status[$i]) {
            echo '<option value="' . $custom_status[$i] . '" selected="true">' . $custom_status[$i] . '</option>';
        } else { echo '<option value="' . $custom_status[$i] . '">' . $custom_status[$i] . '</option>'; }
    }

    echo '</select>';
    echo '<br /></div>';
}
add_action('save_post', 'save_status');

function save_status() {
    global $post;
    if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
    	return $post->ID;
    }
    update_post_meta($post->ID, "_status", $_POST["status"]);
}
add_action('admin_head', 'status_css');

function status_css() {
    echo '<style type="text/css">
    .default{font-weight:bold;}
    .custom{border-top:solid 1px #e5e5e5;}
    .custom_state{
    font-size:9px;
    color:#666;
    background:#e5e5e5;
    padding:3px 6px 3px 6px;
    -moz-border-radius:3px;
    }
    /* ----------------------------------- */
    /*   change color of messages below            */
    /* ----------------------------------- */
    .spelling{background:#4BC8EB;color:#fff;}
    .review{background:#CB4BEB;color:#fff;}
    .errors{background:#FF0000;color:#fff;}
    .source{background:#D7E01F;color:#333;}
    .rejected{background:#000000;color:#fff;}
    .final{background:#DE9414;color:#333;}
    </style>';
}

24. Установка максимальной длинны заголовка записи

Добавление этого PHP кода в functions.php файл вашей WordPress темы установит максимальное количество слов, которое может быть отображено в заголовке поста. Очень удобно!

function maxWord($title){
	global $post;
	$title = $post->post_title;
	if (str_word_count($title) >= 10 ) //set this to the maximum number of words
	wp_die( __('Error: your post title is over the maximum word count.') );
}
add_action('publish_post', 'maxWord');

25. Как изменить стандартный шрифт WordPress редактора

Вам ужасно не нравится шрифт, который используется в редакторе WordPress? Его можно изменить на современный шрифт, например, Monaco или Consolas, просто вставьте код в файл functions.php вашей темы WordPress.

function change_editor_font(){
	echo "<style type='text/css'>
	#editorcontainer textarea#content {
		font-family: Monaco, Consolas, \"Andale Mono\", \"Dejavu Sans Mono\", monospace;
		font-size:14px;
		color:#333;
		}
	</style>";
}
add_action("admin_print_styles", "change_editor_font");

26. Добавление своего поля при публикации записи / страницы

Фрагмент кода для автоматического добавления своего поля в запись или страницу при публикации. Вы можете просто добавить код ниже в ваш файл functions.php, размещенный в папке вашей темы. Конечно, не забудьте изменить название вашего поля.

add_action('publish_page', 'add_custom_field_automatically');
add_action('publish_post', 'add_custom_field_automatically');

function add_custom_field_automatically($post_ID) {
	global $wpdb;
	if(!wp_is_post_revision($post_ID)) {
		add_post_meta($post_ID, 'field-name', 'custom value', true);
	}
}

27. Избавление от ненужных версий записей

Вот очень удобный SQL запрос, который удалит все версии записей, а также связанные с ними метаданные. Вам нужно запустить этот запрос в вашей базе данных WordPress, и все версии (а также связанные с ними метаданные) будут удалены из вашей базы данных. Одно важное замечание здесь: убедитесь, что у вас есть резервная копия вашей базы данных перед тем, как запускать код.

DELETE a,b,c
FROM wp_posts a
WHERE a.post_type = 'revision'
LEFT JOIN wp_term_relationships b
ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);

28. Изменение длины анонса в зависимости от Рубрики

Хотели изменить длину отрывка в зависимости от того, в какой вы Рубрике? Вот код, который исполнит ваше желание. Просто вставьте код в ваш functions.php файл и не забудьте заменить ID Рубрики в третьей строке!

add_filter('excerpt_length', 'my_excerpt_length');
function my_excerpt_length($length) {
	if(in_category(14)) {
		return 13;
	} else {
	return 60;
	}
}

29. Отключение автоматического сохранения записи

Если по какой-то уважительной причине вы хотите отключить функцию, которая делает авто-сохранение вашего поста, когда вы редактируете его в консоли, это возможно. Просто откройте ваш файл functions.php и вставьте в него следующий код:

function disableAutoSave(){
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );

Вы можете затем сохранить файл, и WordPress больше никогда не будет автоматически сохранять пост. Вы можете также отменить это, удалив код.

Источник: Hongkiat.com

Вам понравился материал?

Добавить комментарий

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.

46 комментариев

сначала новые
по рейтингу сначала новые по хронологии
Ярослав

Скажите как можно добавить уникальній ID блоку каждой записи в блоге. То есть через цикл выводятся записи из одной категории, нужно иметь доступ к каждой записи через уникальный ID для создания якоря

Михаил

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

Людмила

Здраствуйте, использовала Ваш HTML код "Создание своих собственных "популярных записей" в сайдбаре", почему-то эти записи появляются в конце страницы или статьи. Пусть бы и так, но нужно сделать отступ 100 px, но не могу, не получается, подскажите, как исправить, пожалуйста.

Владимир

Может будет кому полезно - как в стандартном Also Read Posts поставить ссылку на страницу, а не на пост:
Идём в Внешний вид ->Редактор -> similar-posts.php (у меня в теме так называется файл)
В запись:
$args = array (
'post__in' => $ids_array,
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => 3,
'orderby' => $orderby
);
Добавляем строчку 'post_type' => array( 'post', 'page' ),
Должно получиться как то так:
$args = array (
'post_type' => array( 'post', 'page' ),
'post__in' => $ids_array,
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => 3,
'orderby' => $orderby
);
Ну а далее в посте в Also Read Posts: ставим id страницы
Собственно результат:
Страница: тыц
Пост со ссылкой на страницу: тыц

Спасибо! буду пользоваться)
хорошая подборка.
теперь вопрос )
в описание категории нужно вставить shortcode плагина, отображающего посты из этой категории.
мне попадалась как то статья на эту тему, но к сожалению утеряна)
как то расширить редактор.. и в function.php прописать типа "shortcode-true"...
заранее спасибо!

здравствуйте господа, помогите оформить статью по подобию этой http://imslp.org/wiki/Lo_nnammorato_pacienziuso_(Acton,_Carlo)
Сайт музыкальных партитур- статья + пдф + описание в виде виджета, прилагаю скрин чужого сайта

Алексей

Слово "длина" пишется с одной буквой "н"!!!!!

Добрый день! У меня 2 проблемы, уже устал гуглить, ну чувствую все решается просто, поэтому обращаюсь к Вам за помощью...

Проблема 1. Необходимо расположить текст поста с правой стороны от картинки, в данный момент текст под картинкой.
Проблема 2. Хочу перемести кнопку "читать далее" на правую сторону, сейчас она находится с левой стороны. Скриншот прилагаю

Как добавить картинку в single.php чтоб под каждой записью она была до вывода номеров страниц под каждой записью? И как сделать так, чтоб блоки adsense были между номеров страниц также под каждой записью? Помогите, пожалуйста так сделать, я в php, JS ничего не шарю.

Очень полезно!
Вопрос по 5 пункту - как нумеровать посты только из определенной категори?

Алексей

Мне пригодилась информация под номером "12", про то как добавить в футер темы популярные статьи. У меня там код был установлен, но он почему-то не фурычил, а ваш код встал как родной. :)

Добрый вечер. Интересует 11 функция в вашем списке. Как с ее помощью выводить похожие записи по количеству совпадений в тегах(определенной рубрики). К примеру теги "Актер" "Игра Престолов" "Знаменитость" "Александр". Чем больше совпадений в тегах, тем выше шанс быть отобранным для показа. Как реализовать такое в коде + нужно вывести миниатюру поста вместо текста. Надеюсь на помощь.

Спасибо, полезно.

Здравствуйте. Очень полезной оказалась функция "6. Исключение записи из ленты новостей WordPress". Но у записи есть комментарии, и они появляются в ленте новых комментариев. Подскажите, как убрать из ленты новых коментариев комментарии конкретной записи? Спасибо.

Подскажите как убрать рекламу google adsense с отдельных рубрик wordpress?
Допустим есть 10 рубрик, в каждой записи этих рубрик стоит 3 блока, нужно убрать 1 блок адсенса в восьми рубриках.
Примерно так!

Возможно, вам поможет этот плагин http://www.whydowork.com/blog/whydowork-adsense-plugin/

У меня он и стоит, просто когда на сайте 10 000 страниц, тяжело в ручную это прописывать.
Хотелось бы сразу с нескольких категорий убрать код.

Андрей Сасанов

Нашел как вывести список страниц как анонс в Wordpress по ссылке: http://www.sasanov.ru/anons-stranic-v-wordpress/
Очень помогло

Анастасия

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

Здравствуйте! Подскажите пожалуйста, что нужно сделать, чтобы посты на главной выводились по 1 посту в строке? Я уже так замучился с этим, что передать вам не могу...

Так ответить очень сложно, вывод постов по 1 строке или по несколько - это все зависит от верстки каждой отдельной темы оформления.

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

Берёзкин Иван

1 совет царский) долго я мучался

Хотел спросить а если я использую $wpdb->update или $wpdb->insert Вордпресс сам экранирует значения? Или нужно как то дополнительно использовать prepare

Алексей

Здравствуйте!
Может ли в вордпресс запись добавляться автоматически к созданной рубрике сама. Например, если в записи присутствует какои-нибудь идентификатор либо ещё что-то??
Буду благодарен за решение.
Заранее спасибо. Алексей.

По умолчанию. такой возможности не предусмотрено. Ищите сторонние плагины.

Виталий

Спасибо за классные функции! Вот возник вопрос: Внизу анонсов указывается дата, рубрика, метки. Как убрать эту информацию, а то портит вид? У меня WP, версия 3.6. Спасибо за статьи и ответ.

С уважением, Виталий
PS: Вот ещё, хотел бы анонсы выделять в рамочку, если такая функция?

Дата, рубрика и автор под анонсами записей на главной - это index.php, там легко понять, где именно нужно убрать код.

Рамочки, рюшечки и прочие красоты - это стили оформления style.css

Михаил

Добрый день!)
Подскажите как правильно настроить сайт или шаблон. Когда публикую статью с ссылками на другой сайт, хочу чтоб ссылки были видны только после открытия полной статьи. А они видны еще до тега more.. при этом появляясь на главной странице. Как можно реализовать эту возможность?

Указывайте ссылки в записи после тега more, в чем проблема?

Gedonistka.com

Добрый день!

Спасибо за статью, очень полезная!

Можно поподробнее про пункт 14. Список будущих записей

Вставлю код, но записи отображаются в неудобоваримом виде, как "облагородить" их внешний вид?
Заранее спасибо!

Анатолий

Здравствуйте. Спасибо за информацию. У меня возник вопрос: можно ли список похожих, последних, самых популярных или самых комментируемых статей вставить прямо внутри поста? В техническом плане проблем не возникает. Но как это повлияет на перелинковку, и какова может быть реакция поисковых систем на позиции сайта, учитывая, что адреса этих ссылок со временем будут постоянно меняться?

Для этого есть плагины, которые генерируют шорткод для вставки в текст записи блока с популярными/последними постами. На поисковики это не влияет.

Сергей

Можно про 13-й по-подробней. Как это сделать: Передайте expiration в качестве ключа и вашу дату/время (формат: мм/дд/гг 00:00:00) в качестве значения.

Добрый день!
При выставлении записи на странице сайта и нажатии на кнопку more, статья обрезается, однако кнопка "читать далее" не появляется!
Захожу в редактор записи, удаляю тег more и загружаю обновленную страницу сайта: появляется читать далее и статья обрезана!
Что делать?
В html шаблоне отредактированной странице смотрела, там тега этого нет, но страница все равно обрезана и написано читать далее(((((

Появление или исчезновение кнопки Читать далее зависит только от конкретной темы оформления. Возможно это баг темы, а может особенность. Попробуйте посмотреть на другой теме оформления.

очень полезно! спасибо!

спс отличная статья !

Николай

Добрый день! А не подскажите, каким образом можно убрать из анонса новости показ картинки, которая в самой статье. А то при добавлении миниатюры (для "популярных записей") картинка попросту дублируется

Если эта возможность не предусмотрена в настройках к вашей теме оформления, то это можно реализовать только путем правки кода файлов темы (скорее всего файл index.php)

Николай

я, в принципе, это и хотел узнать (как код исправить). А то я в этих делах - ни в зуб ногой :)

5. Отображение номера для каждой записи
7. Редирект записи, когда поисковый запрос выдает один результат

сайт перестает открываться (белый лист)

Здравствуйте! Вы не подскажите, каким образом можно к сайту, созданному на вордпресс, прикрепить страницу на shtml? К примеру, чтобы была одна страница такого плана http://mysite/mylife.shtml

Вы можете создать эту страницу отдельно и разместить ее у себя на сайте, загрузив ее по FTP. А потом указать на WordPress-сайте просто ссылку на эту страницу с полным URL.

Осталю на заметку, очень интересные функции.

Алексей

Здравствуйте!
Может ли в вордпресс запись добавляться автоматически к созданной рубрике сама. Например, если в записи присутствует какои-нибудь идентификатор либо ещё что-то??
Буду благодарен за решение.
Заранее спасибо. Алексей.