Пачка полезных сниппетов для блога. Часть 4

Шорткод для отображения внешних файлов в ваших записях

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

Открываем ваш functions.php и вставляем следующую функцию в него:

function show_file_func( $atts ) {
  extract( shortcode_atts( array(
    'file' => ''
  ), $atts ) );
 
  if ($file!='')
    return @file_get_contents($file);
}
 
add_shortcode( 'show_file', 'show_file_func' );

После окончания действий можно использовать шорткод. Он довольно простой:

[show_file file="http://www.test.com/test.html"]

Автоматически добавляем классы к ссылкам, сгенерированным функциями next_posts_link и previous_posts_link

По-умолчанию, next_posts_link() и previous_posts_link() создаются без какого-то заданного класса. Если вам необходим такой для стилизации блога или чего-либо другого, вот простой способ добавить необходимые стили/классы, используя хук.

Вставляем код в functions.php:

add_filter('next_posts_link_attributes', 'posts_link_attributes');
add_filter('previous_posts_link_attributes', 'posts_link_attributes');

function posts_link_attributes() {
return 'class="myclass"';
}

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

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

Просто вставьте код ниже в файл function.php. После сохранения в административной панели появится новая колонка, отображающая сколько вложений есть у каждого поста.

add_filter('manage_posts_columns', 'posts_columns_attachment_count', 5);
add_action('manage_posts_custom_column', 'posts_custom_columns_attachment_count', 5, 2);
function posts_columns_attachment_count($defaults){
    $defaults['wps_post_attachments'] = __('Att');
    return $defaults;
}
function posts_custom_columns_attachment_count($column_name, $id){
        if($column_name === 'wps_post_attachments'){
        $attachments = get_children(array('post_parent'=>$id));
        $count = count($attachments);
        if($count !=0){echo $count;}
    }
}

Как научить WordPress отображать ошибки при входе на сайт

По-умолчанию, когда вы (или кто-либо другой) ошибается при входе в wp-admin, WordPress выдает сообщение с ошибкой. Эти сообщения могут быть как полезными, так и не очень в случае когда злоумышленник будет пробовать взломать ваш сайт путем, к примеру, перебора паролей. Вот прекрасное решение, предотвращающее отображение ошибок при входе в административную панель WordPress.

Вставляем следующие строки кода в файл functions.php:

add_filter('login_errors', create_function('$a', "return null;"));

После сохранения WordPress будет вести себя как и задумано нами.

Шорткод WordPress для простой интеграции Google Map в ваш блог

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

Для создания шорткода вставьте следующий код в functions.php:

function rockable_googlemap($atts, $content = null) {
   extract(shortcode_atts(array(
               "width" => '940',
               "height" => '300',
               "src" => ''
   ), $atts));
 
return '<div>
         <iframe src="'.$src.'&output=embed" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="'.$width.'" height="'.$height.'"></iframe>
        </div>
       ';
}
 
add_shortcode("googlemap", "rockable_googlemap");

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

[ googlemap src="google_map_url"]

или же с собственными параметрами ширины и высоты:

[ googlemap width="600" height="250" src="google_map_url"]
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top