Master-X
Форум | Новости | Статьи
Главная » Форум » Блоги и Социальные сети » 
Тема: Wordpress How To
цитата
12/04/11 в 16:41
 photomuza
Yacc: Спасибо! Правда у меня не заработало, может потому что ночью с дурной головой пробовал, но оказалось что есть плагины, с которыми можно создавать виджеты с РНР кодом, да тоже в лом разбираться. Просто немного почитал и понял, что мне как раз удобней обходиться вообще БЕЗ виджетов. icon_smile.gif А все что нужно вставить из стандартного (мне очень мало требуется), так это можно сделать, вставив в sidebar.php соотв. функцию. Например мне нужны архивы - пожалуйста:
Код:
<?php wp_get_archives() ?>

Всё, нафиг мне виджеты создавать и тянуть. icon_smile.gif А это Код:
<?php if ( !function_exists('dynamic_sidebar')
           || !dynamic_sidebar() ) : ?>

******** и весь код внутри ********

<?php endif; ?>

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

Вот только не обнаружил там и лень рыться в кодексах и пр., посему 2 ВОПРОСА к Yacc:
1. Что вписать в скобки сюда
Код:
<?php wp_get_archives() ?>
чтоб отображалось количество записей в каждом месяце.
2. Можно ли отобразить в баре список категорий так же (с колич. записей в каждой)? В шпаргалке нет такой функции вроде.
цитата
12/04/11 в 17:24
 stinger
По архивам:
Код:
<?php wp_get_archives('show_post_count=1'); ?>

здесь еще параметры: http://codex.wordpress.org/Function_Reference/wp_get_archives
По категориям:
Код:
<?php wp_list_categories('show_count=1'); ?>

здесь еще много параметров: http://codex.wordpress.org/Template_Tags/wp_list_categories
цитата
12/04/11 в 17:42
 Yacc
И последняя ссылка:

http://codex.wordpress.org/Function_Reference

icon_smile.gif
цитата
12/04/11 в 18:36
 dDan
Предлагую Yacc'у присудить звание главный вордпрессовод года и сделать модератором блогов icon_cool.gif Голосуем icon_rolleyes.gif
+1
PS читаю посты регулярно много полезного нахожу
цитата
12/04/11 в 18:37
 photomuza
Отлично, сенкс! smail54.gif Теперь строю бары без всяких виджетов. icon_smile.gif И справочник по-русски тоже пригодится.

dDan: +1
цитата
12/04/11 в 18:46
 photomuza
Yacc: В качестве просвящения: вставляю так Код:
<?php include (TEMPLATEPATH . '/sidebar_left.php'); ?>
работает. Вставляю так Код:
<?php include ('sidebar_left.php'); ?>
тоже работает.
В чем разница двух вариантов? Понимаю, что первый грамотней, так в шпаргалке Шевчука видел, но как работает первый и как второй?
цитата
12/04/11 в 22:54
 photomuza
Вот возникла задачка: как сделать чтобы поиск искал только среди постов, а страницы (PAGE) игнорировал?
цитата
13/04/11 в 10:07
 cyberxxx
photomuza писал:
Yacc: В качестве просвящения: вставляю так Код:
<?php include (TEMPLATEPATH . '/sidebar_left.php'); ?>
работает. Вставляю так Код:
<?php include ('sidebar_left.php'); ?>
тоже работает.
В чем разница двух вариантов? Понимаю, что первый грамотней, так в шпаргалке Шевчука видел, но как работает первый и как второй?

1) 'sidebar_left.php' - относительный путь к файлу внутри папки темплэйта.
2) TEMPLATEPATH . '/sidebar_left.php' - абсолютный путь к файлу на сервере. Т.е. что-то вроде этого: 'home/www/myblog.com/wp-content/themes/twentyten/sidebar_left.php'.
цитата
13/04/11 в 13:07
 Yacc
photomuza писал:
Вот возникла задачка: как сделать чтобы поиск искал только среди постов, а страницы (PAGE) игнорировал?


Добавь в functions.php
Код:
function yacc_search_filter( $query ) {
    if( $query->is_search ) $query->set( 'post_type', array( 'post', 'attachment' ) );
    return $query;
}
add_filter( 'pre_get_posts', 'yacc_search_filter' );
цитата
13/04/11 в 14:32
 photomuza
Работает smail54.gif спасибо!
cyberxxx: тебе тоже за разъяснение
цитата
13/04/11 в 21:15
 Yacc
Flowplayer
Wordpress и Flowplayer - вместе вкуснее. icon_smile.gif

Плеер отличный: простой и понятный API, лего стилизуется и расширяется, развитое и живое сообщество.
Интегрировать flowplayer в wordpress не просто, а очень просто. Для этого не нужны пол-метровые плагины. icon_smile.gif

Для начала скачайте последнюю версию плеера. В папке темы создайте папку flowplayer и положите туда три файла из скачанного архива:

flowplayer-3.2.6.min.js
flowplayer-3.2.7.swf
flowplayer.controls-3.2.5.swf

В конец functions.php той же темы добавьте:
define( 'FLOWPLAYER_DIR', get_bloginfo( 'template_url' ) . '/flowplayer/' );
define( 'FLOWPLAYER_CORE_JS', FLOWPLAYER_DIR . 'flowplayer-3.2.6.min.js' );
define( 'FLOWPLAYER_PLAYER_SWF', FLOWPLAYER_DIR . 'flowplayer-3.2.7.swf' );
define( 'FLOWPLAYER_CONTROLS_SWF', FLOWPLAYER_DIR . 'flowplayer.controls-3.2.5.swf' );

wp_register_script( 'flowplayer', FLOWPLAYER_CORE_JS );
if ( !is_admin() ) wp_enqueue_script( 'flowplayer' );

add_filter( 'media_send_to_editor', 'yacc_media_send_to_editor', 10, 2 );
function yacc_media_send_to_editor( $html, $id ) {
    $attachment = get_post( $id );
    $mime_type = $attachment->post_mime_type;
    if( substr( $mime_type, 0, 5 ) == 'video' ) {
      $html = '[flowplayer video="' . $attachment->guid . '"]';
    }
   return $html;
}

add_shortcode( 'flowplayer', 'yacc_flowplayer' );
function yacc_flowplayer( $atts ) {
   extract( shortcode_atts( array( 'video' => '' ), $atts ) );
   if( $video == '' ) return;
   $script = '<script>
      flowplayer("player", "' . FLOWPLAYER_PLAYER_SWF . '", ({
         plugins: {
            controls: {
               url: \'' . FLOWPLAYER_CONTROLS_SWF . '\',
               autoHide: \'never\'
            }
         }
      }))
   </script>';
   return '<p><a href="' . $video . '" style="display:block;width:600px;height:400px;" id="player"></a>' . $script . '</p>';
}

Теперь добавить видео к посту можно через форму:





или руками, если знаете путь до файла:

Код:
[flowplayer video="http://example.com/wp-content/uploads/2011/04/video.flv"]


Видео не обязательно быть на том же хосте и в формате flv. icon_smile.gif

Продолжение

Последний раз редактировалось: Yacc (06/05/11 в 20:42), всего редактировалось 1 раз
цитата
13/04/11 в 21:47
 stinger
вот спасибо! то что надо! smail54.gif
цитата
14/04/11 в 06:52
 photomuza
Напишу сюда. Хотел обратиться к Yacc-у снова, да сам нашел, без добавления функции.

Возникла необходимость избавиться от надписи под анонсом "Read more...". Заменяем в своих файлах темы index.php, archive.php и пр. Код:
<?php the_content(); ?>
на Код:
<?php the_content('',FALSE,''); ?>

Источник - http://codex.wordpress.org/Customizing_the_Read_More
цитата
14/04/11 в 07:53
 photomuza
Вот еще появилась задачка для мастера-вордпрессовордства icon_smile.gif Вот эти 2 полезные фишки (похожие посты) - На основе ID постов и На основе первой метки поста захотелось объединить в один код.

А именно: нужно скажем всего 8 похожих постов, они сначала подбираются по ID, если набралось меньше 8-ми, остальные добираются на основе первой метки.

И еще вопросик: метки к посту сортируются только по алфавиту, по-другому никак? Просто если несколько меток, то хотелось бы чтоб подбиралось по приоритетной, а тут как в школе: у кого фамилиЁ на букву "А", того первого и к доске. icon_smile.gif
цитата
14/04/11 в 08:01
 Retox
Yacc спасибо icon_wink.gif
Очень полезный топик smail54.gif
цитата
14/04/11 в 16:18
 photomuza
Yacc: Помоги плз, не могу разобраться, мож заработался. Мне нужно чтоб твой код выдавал похожие посты не в виде текстовых линок, а в виде анонсов (анонсы это чисто тумбы, ведущие на сам пост). Поэтому твою часть кода я заменил на: Код:
<?php the_content('',FALSE,''); ?> 

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

------- Добавлено --------
Соврал: выводит не ВЕСЬ пост, а именно то что ПОСЛЕ <!--noteaser-->
Попробовал сейчас Код:
<?php the_content('',TRUE,''); ?>
- совершенно то же самое. Вот так это выглядит:



2-й пост (всего 4) это анонс - тумба и после <!--noteaser--> буквы. Вот он буквы целиком и вывел, а тумбу нет.

Последний раз редактировалось: photomuza (14/04/11 в 23:25), всего редактировалось 2 раз(а)
цитата
14/04/11 в 21:32
 stinger
photomuza: попробуй вместо Код:
<?php the_content('',FALSE,''); ?>
поставить Код:
<?php the_excerpt(''); ?>
цитата
14/04/11 в 22:45
 photomuza
<?php the_excerpt(); ?> Эксперт как раз показывает ту часть поста что ПОСЛЕ анонса + сам ее подрезает. Т.е. он взял то что было у меня ПОСЛЕ <!--noteaser--> обрезал и это выдал.

Попробовал еще 3 варианта (рыскаю по Кодексу):
<?php the_content( $more_link_text ); ?>
<?php the_content( $strip_teaser ); ?>
<?php the_content( $more_file ); ?>
Все равно то же самое. На всякий случай в другой теме пробовал (дефолтной - twentyten), тот же эффект. Т.е здесь видимо нужно вставить соотв. функцию, если она есть в ВП, если нет, добавить.

Рылся по плагинам, поиск в Гугле задал плагин related posts анонсы - куча плагинов для релевантных постов и все выводят ЛИНКУ, не вижу ни одного чтобы АНОНС выводил.
цитата
15/04/11 в 11:21
 photomuza
Yacc: По-моему, если я правильно понял, те ссылки про то как настроить резку тумб автоматом, сама по себе она и так есть дефолтно. У меня другая задача: вставить анонсы других постов в тело текущего поста. И вчера уже запоздно до меня дошло, что это ведь идет против самой логики анонса, отображение которого предусмотрено исключительно в ленте индекса, архива, поиска и категорий, но никак не в самом посте. Сегодня проверил: вставил код в индекс - отображаются только анонсы релевантных постов, как мне и нужно.

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

Точней так: чтоб алгоритм анонса ( <!--more--> + <!--noteaser--> ) работал непосредственно в ПОСТЕ также как и в ленте (отображалось только то, что ПЕРЕД <!--more--> ), ЕСЛИ это не анонс ТЕКУЩЕГО ПОСТА. Надеюсь понятно изложил.
цитата
18/04/11 в 15:11
 Rockman
Подскажите как сделать чтобы pages являлись ссылками, а не отдельными страницами. Я хочу их поместить в меню, типа рядом с home. Типа как тут http://hawaiipornblog.com/
Извиняйте если нубовский вопрос.
цитата
18/04/11 в 15:57
 Yacc
1.



2.



3.
цитата
19/04/11 в 09:33
 Rockman
Yacc: Спасибо большое.
цитата
19/04/11 в 12:13
 ibiz
как можно сделать, чтоб обычный пост /?p=1 брал данные из текстового файла, типа include('text.txt') ?
цитата
19/04/11 в 14:12
 Yacc
Это в конец functions.php

Код:
add_shortcode( 'include', 'yacc_include' );
function yacc_include( $atts ) {
   extract( shortcode_atts( array( 'file' => '' ), $atts ) );   
   ob_start();   
   include $file;   
   ob_get_flush();
}



Это вставлять в пост в редакторе

Код:
[include file="wp-content/uploads/file.txt"]
Стр. « первая   <  3, 4, 5, 6, 7  >  последняя »


Эта страница в полной версии