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

30.11.2017 | Автор: Maxim Glovatsky

По известной причине, загрузчик 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');
?>

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

20.11.2017 | Автор: Maxim Glovatsky

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

<?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' );
?>

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

15.11.2017 | Автор: Maxim Glovatsky

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

<?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";') );
?>

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

10.11.2017 | Автор: Maxim Glovatsky

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

<?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');
?>

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

05.11.2017 | Автор: Maxim Glovatsky

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

<?php
function 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, и все! Реклама будет отображаться только посетителям, пришедшим на сайт через поисковые системы.

<?php
if (function_exists('fromasearchengine')) {
    if (fromasearchengine()) {
        INSERT YOUR AdSense CODE HERE
    }
}
?>

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

30.10.2017 | Автор: Maxim Glovatsky

Полезный код, который Вы можете вставить в вашу 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) в качестве значения. Пост теперь не будет показываться после указанного момента времени.

Отображение “популярных записей” в сайдбаре WordPress без плагина

25.10.2017 | Автор: Maxim Glovatsky

Для установки виджета сайдбара в WordPress, который будет отображать похожие записи, нет ничего сложного. Просто скопируйте и вставьте код ниже в ваш файл 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>