Більше результатів...

Загальні селектори
Тільки точні збіги
Шукати у заголовках
Шукати у контенті
Вибір типів постів
Фільтрувати за категоріями
FAQ
Hostenko
Натхнення
Відео уроки
Новини
Плагіни
теми
Уроки
Хакі

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

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

inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!

29 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. Якщо ви не зробите це таким чином, то фільтр також працюватиме в серверній частині, і ці пости не будуть відображатися в огляді постів.

У функції два параметри. Ви передаєте перший параметр $ де рядок 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;
?>

Щоб створити пост із датою/часом втрати актуальності, ви можете просто створити своє поле. Передайте витікання як ключ і вашу дату/час (формат: мм/дд/гг 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. Ви можете використовувати Візуальний редактор або 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" у коді також переконайтеся, що ви змінили назви класів, які ви можете змінити після коментаря "зміна кольору 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? Його можна змінити на сучасний шрифт, наприклад, Монако або Консоліпросто вставте код у файл 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
inet.ws - Powerful VPS Hosting в США, Canada, UK та DE!
Олексій Шевченко
редактор wpcafe
Вивчає сайтобудування з 2008 року. Практикуючий вебмайстер, який спеціалізується на створенні сайтів на WordPress. Задати питання Олексію можна на https://profiles.wordpress.org/wpthemeus/

Коментарі до запису: 58

Микита Рябін:

Залишу на замітку дуже цікаві функції.

Олексій:

Доброго дня!
Чи може до вордпрес запис додаватися автоматично до створеної рубрики сама. Наприклад, якщо в записі є якийсь ідентифікатор або ще щось??
Буду вдячний за рішення.
Заздалегідь дякую. Олексій.

Ольга:

Вітаю! Ви не підкажете, як можна до сайту, створеного на вордпрес, прикріпити сторінку на shtml? Наприклад, щоб була одна сторінка такого плану http://mysite/mylife.shtml

WordPresso:

Ви можете створити цю сторінку окремо і розмістити її на сайті, завантаживши її по FTP. А потім вказати на WordPress-сайті просто посилання на цю сторінку з повним URL-адресою.

Алекс:

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

сайт перестає відкриватися (білий лист)

Микола:

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

WordPresso:

Якщо ця можливість не передбачена в налаштуваннях до вашої теми оформлення, то це можна реалізувати тільки шляхом редагування коду файлів теми (швидше за все файл index.php)

Микола:

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

ніклс:

спс відмінна стаття!

Катя:

дуже корисно! Дякую!

Юля:

Добрий день!
При виставленні запису на сторінці сайту та натисканні на кнопку more, стаття обрізається, проте кнопка читати далі не з'являється!
Заходжу до редактора запису, видаляю тег more та завантажую оновлену сторінку сайту: з'являється читати далі і стаття обрізана!
Що робити?
У html шаблоні відредагованої сторінці дивилася, там тега цього немає, але сторінка все одно обрізана і написано читати далі((((((

WordPresso:

Поява або зникнення кнопки Читати далі залежить лише від конкретної теми оформлення. Можливо, це баг теми, а може особливість. Спробуйте подивитися на іншій темі оформлення.

Сергій:

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

Анатолій:

Добрий день. Спасибі за інформацію. У мене постало питання: чи можна список схожих, останніх, найпопулярніших або найкоментованіших статей вставити прямо всередині посту? У технічному плані проблем не виникає. Але як це вплине на перелінкування, і якою може бути реакція пошукових систем на позиції сайту, враховуючи, що адреси цих посилань з часом постійно змінюватимуться?

WPcafe.org:

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

Gedonistka.com:

Добрий день!

Дякую за статтю, дуже корисна!

Докладніше про пункт 14. Список майбутніх записів

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

Михайло:

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

WPcafe.org:

Вказуйте посилання в записі після тега more, у чому проблема?

Віталій:

Дякую за класні функції! Ось постало питання: Внизу анонсів вказується дата, рубрика, мітки. Як прибрати цю інформацію, бо псує вигляд? У мене є WP, версія 3.6. Дякуємо за статті та відповідь.

З повагою, Віталій
PS: Ось ще, хотів би анонси виділяти у рамочку, якщо така функція?

WPcafe.org:

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

Рамочки, рюшечки та інші краси – це стилі оформлення style.css

Олексій:

Доброго дня!
Чи може до вордпрес запис додаватися автоматично до створеної рубрики сама. Наприклад, якщо в записі є якийсь ідентифікатор або ще щось??
Буду вдячний за рішення.
Заздалегідь дякую. Олексій.

WPcafe.org:

За замовчуванням. такої можливості не передбачено. Шукайте сторонні плагіни.

Nezzard:

Хотів запитати, а якщо я використовую $wpdb->update або $wpdb->insert Вордпрес сам екранує значення? Або потрібно якось додатково використовувати prepare

Берьозкін Іван:

1 порада царська) довго я мучився

илья:

Бачив я тут один дуже цікавий блог, коли пошуковий запит видає один результат. І хочу сказати люди не ставте це собі не коли знаходиш в інтернеті статтю яку хочеш почитати і тиснеш на неї, а тут потрапляєш на головну сторінку сайту і де потім шукати те, що хотів почитати не знаєш.

György Klepárj:

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

WPcafe.org:

Так відповісти дуже складно, висновок постів по 1 рядку або по кілька — це все залежить від верстки кожної окремої теми оформлення.

Анастасія:

Доброго дня, а не підкажете, як можна зробити висновок функції лише для однієї категорії. Приклад: мені потрібно додати до всіх тегів цієї категорії ще один параметр

Андрій Сасанов:

Знайшов як вивести список сторінок як анонс у WordPress за посиланням: http://www.sasanov.ru/anons-stranic-v-wordpress/
Дуже допомогло

xxxdarck:

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

WPcafe.org:

Можливо, вам допоможе цей плагін

xxxdarck:

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

Федір:

Добрий день. Дуже корисною виявилася функція «6. Виняток запису зі стрічки новин WordPress». Але запис має коментарі, і вони з'являються в стрічці нових коментарів. Підкажіть, як прибрати зі стрічки нових коментарів коментарі конкретного запису? Дякую.

Сергій:

Дякую, корисно.

Юрій:

Добрий вечір. Цікавить 11 функція у вашому списку. Як з її допомогою виводити схожі записи за кількістю збігів у тегах (певної рубрики). Наприклад теги «Актор» «Гра Престолів» «Знаменитість» «Олександр». Чим більше збігів у тегах, тим вищий шанс бути відібраним для показу. Як реалізувати таке в коді + потрібно вивести мініатюру посту замість тексту. Сподіваюся на допомогу.

Олексій:

Мені знадобилася інформація під номером «12», про те, як додати у футер теми популярні статті. У мене там код був встановлений, але він чомусь не фурич, а ваш код став як рідний. :)

Konstantin:

Дуже корисно!
Питання по 5 пункту - як нумерувати пости лише з певної категорії?

Фара:

Як додати картинку до single.php щоб під кожним записом вона була до виведення номерів сторінок під кожним записом? І як зробити так, щоб блоки adsense були між номерами сторінок також під кожним записом? Допоможіть, будь ласка, так зробити, я в php, JS нічого не шарю.

Artem:

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

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

Олексій:

Слово "довжина" пишеться з однією літерою "н"!!!!!

Юрій:

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

s:

Дякую! користуватимуся)
хороша добірка.
тепер питання)
в опис категорії потрібно вставити shortcode плагіна, що відображає посади з цієї категорії.
мені траплялася якось стаття на цю тему, але на жаль втрачена)
як то розширити редактор.. і в function.php прописати типу «shortcode-true»…
заздалегідь дякую!

Володимир:

Може буде комусь корисно — як у стандартному Also Read Posts поставити посилання на сторінку, а не на пост:
Ідемо до Зовнішнього вигляду ->Редактор -> similar-posts.php (у мене в темі так називається файл)
У запис:
$args = array (
'post__in' => $ids_array,
'post_status' => 'опублікувати',
'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' => 'опублікувати',
'ignore_sticky_posts' => 1,
'posts_per_page' => 3,
'orderby' => $orderby
);
Ну а далі в пості Also Read Posts: ставимо id сторінки
Власне результат:
Сторінка: тиць
Пост із посиланням на сторінку: тиц

Людмила:

Здрастуйте, використовувала Ваш HTML код «Створення власних «популярних записів» у сайдбарі», чомусь ці записи з'являються наприкінці сторінки чи статті. Нехай і так, але потрібно зробити відступ 100 px, але не можу, не виходить, підкажіть, як виправити, будь ласка.

Михайло:

як автоматично схвалити запис гостя без участі адміністратора?
гість відправляє з телеграма піст який потрапляє в чернетки, а треба щоб цей запис публікувався відразу

Ярослав:

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

Роман:

А як зробити що б у стрічці вгорі перші 10 записів були не анонсом, а просто назва статті (посилання), а інші анонсом. Зайшов одразу переглянув останні новини та відкрив потрібне. Ось тут цікавить d-nk.com.ua

Амар:

Здравствуйте.

Допоможіть пліз.

Купив сайт зі статтями та наприкінці скрізь посилання на сайт дзеркало.

Таких записів близько 800. Як мені видалити посилання та текст посилання у всіх цих постах?

Заранее спасибо.

WPcafe:

Варіанти:
1. Встановіть плагін better-search-replace та замініть усі посилання на ваші.
2. Встановіть плагін outbound-link-manager та видаліть усі зайві посилання.

Амар:

Не можу відповісти WPcafe і тому пишу собі відповіддю.

Але ж плагін із заміни слів, знайде не тільки анкор посилання, а й такі ж схожі слова у статті та їх теж видалить!!!

WPcafe:

Заміну робити урлів, а не анкорів.

Геннадій:

Підкажіть, куди потрібно вставити той код.

Для виведення анімації зображень у короткій новині необхідно використовувати наведений нижче код

Володимир:

fПривіт. При додаванні коду з 25 пункту видається помилка в коді і сайт стає недоступним, де сидить помилка?

Дмитро:

Автоматичне створення мета-опису Meta Description з The_content.
Здрастуйте, підкажіть, як зробити тільки для архівів дат, щоб був опис, з назви title
адреса сайту/2019/04/18
Ось так 18.04.2019

Alex:

Використовувати is_archive()

Євген:

А як прибрати показ реклами adsense з одного чи кількох записів.

Alex:

Використовувати is_single() або is_page

Сурен:

Допоможіть будь ласка одна проблема. Сайт rianovost.ru коли пишу в редакторі (і в класичному та в інших) вставляю в запис зображення і під зображення напишу підпис, в редакторах все нормально, підпис з курсивом і маленьким шрифтом і сірим кольором як належить, але як тільки збережу запис опис перетворюється у звичайний текст і не видно, що це опис стосується зображенні. Я дивився в браузері (дослідити елемент) і як зрозумів за це відповідає стиль bigcaption, але не як не можу знайти, де він знаходиться і як змінити

Додати коментар або відгук