Т.е. в виде ссылки с «головастиком», как в тестовом посте
Плюс добавим возможность открывать страницу пользователя ЖЖ/LJR в отдельном окне (вкладке)
При добавлении псевдотега
<ljr user="username">
или <lj user="username">
, данный псевдотег заменяется на ссылку с дополнительной картинкой-головастиком перед ней, клик по картинке ведет к открытию страницы userinfo пользователя ЖЖ и LJR, а клик по имени пользователя — к открытию главной страницы пользователя блогосервиса. Если вставить в пост на LJR псевдотег <lj user="username">
, то к имени пользователя будет добавлена дополнительная строка — username@lj, указывающая, что дневник пользователя находится в Живом Журнале.
[ljr user="username"] или [lj user="username"]
,— вставляет на их место в посте «головастика», пользователя того или иного сервиса, дописывая в конце имени префикс @lj или @ljr, и проставляет все нужные ссылки.
— Если указан параметр
blank=1
, например [ljr user="hex_laden" blank=1]
, то ссылки на userinfo (при клике по «головастику») или ссылка на главную страницу блога, откроются в новом окне/вкладке.
1. В
wp-content/plugins
, создаем отдельный каталог lj-ljr-users
, в нем подкаталог img
, и загружаем туда графические файлы «головастиков» http://lj.rossia.org/img/userinfo.gif и http://lj.rossia.org/img/userinfo-lj.gif 2. Создаем файл
lj-ljr-users.php
в каталоге wp-content/plugins/lj-ljr-users
и вставляем в него нижеследующий код.
<?php
/*
Plugin Name: LJ and LJR users shortcodes
Description: adding lj and ljr-like style links on users/blogs LJ and LJR
Version: 0.0.1
Author: Tolik Punkoff & IDT
Author URI: http://tolik-punkoff.com/
License: any
*/
function ljruser_shortcode($atts)
{
extract(shortcode_atts(array(
'user' => '',
'blank' => 0,
), $atts));
$ret='';
$target='';
if ($blank==1) $target='target="_blank"';
if ($user=='')
{
$ret="<b>[Bad username in LJ tag]</b>";
}
else
{
$ret = '<span class="ljruser" style="white-space: normal;">';
$ret = $ret . '<a href="http://lj.rossia.org/userinfo.bml?user=';
$ret = $ret . $user . '" ' . $target . '>';
$ret = $ret . '<img src="' . content_url() . '/plugins/lj-ljr-users/img/userinfo-ljr.gif" alt="[info]" style="vertical-align: top; border: 0;" /></a>';
$ret = $ret . '<a href="http://lj.rossia.org/users/' . $user . '/" ' . $target . '>';
$ret = $ret . '<b>' . $user . '@ljr' . '</b></a></span>';
}
return $ret;
}
function ljuser_shortcode($atts)
{
extract(shortcode_atts(array(
'user' => '',
'blank' => 0,
), $atts));
$ret='';
$target='';
if ($blank==1) $target='target="_blank"';
if ($user=='')
{
$ret="<b>[Bad username in LJ tag]</b>";
}
else
{
$ret = '<span class="ljruser" style="white-space: normal;">';
$ret = $ret . '<a href="http://livejournal.com/userinfo.bml?user=';
$ret = $ret . $user . '" ' . $target . '>';
$ret = $ret . '<img src="' . content_url() . '/plugins/lj-ljr-users/img/userinfo-lj.gif" alt="[info]" style="vertical-align: top; border: 0;" /></a>';
$ret = $ret . '<a href="http://livejournal.com/users/' . $user . '/" ' . $target . '>';
$ret = $ret . '<b>' . $user . '@lj' . '</b></a></span>';
}
return $ret;
}
add_shortcode ('lj','ljuser_shortcode');
add_shortcode ('ljr','ljruser_shortcode');
?>
— Css встроено сразу в плагин и заточено под тему оформления, которую юзаю я, по-хорошему, надо стилевые настройки из плагина вымести, и чтоб они прописывались в
styles.css
— не определяется, пользователь это или сообщество. Но с другой стороны, это чрезмерно бы усложнило код и стабильность, вызвав необходимость обращаться к серверам блогосервисов (и обрабатывать случаи, если сервера «лежат»).
— ну может еще какие мелкие недочеты, кому надо — берите и сами исправляйте.
PHP-код на pastebin
Готовый плагин с mega.nz
Pingback: Страница со списком тегов (или рубрик) WordPress | Персональный блог Толика Панкова
Pingback: Полезные плагины для WordPress | Персональный блог Толика Панкова