'70',
'ark_imgurl' => '',
'ark_maxword' => '24',
'ark_bgcolor' => '#FFF',
'ark_nobgcolor' => '0',
'ark_bordercolor' => '#C7C7C7',
'ark_nobordercolor' => '0',
'ark_width' => '96',
'ark_title' => 'Материалы по теме:',
'ark_titlecolor' => '#215B9B',
'ark_titleshadow' => '1',
'ark_titleshadowcolor' => '#5DB6FA',
'ark_titleshadowx' => '1',
'ark_titleshadowy' => '1',
'ark_titleshadowr' => '1',
'ark_titlefontsize' => '20',
'ark_titletop' => '4',
'ark_textcolor' => '#000',
'ark_textfontsize' => '12',
'ark_orientation' => '0',
'ark_subtitlefontsize' => '14',
'ark_subtitlecolor' => '#3366DD',
'ark_subtitlesymbol' => '',
'ark_maxposts' => '5',
'ark_maxgposts' => '4',
'ark_source' => '0',
'ark_borderradius' => '10',
'ark_imgborderradius' => '4',
'ark_setdivheight' => '0',
'ark_targetblank' => '0',
'ark_first' => '0',
'ark_hand' => '0',
);
add_option('ark_relpost', $ark_option,'','no');
}
// Хук вставки в админ меню
add_action('admin_menu', 'ark_rp_add_pages');
// Акция предыдущено хука
function ark_rp_add_pages() {
// Добавляем новое субменю в Options:
add_options_page('ark_relatedpost', 'Связанные записи', 'manage_options', 'ark_rp_ostoptions', 'ark_rp_options_page');
}
/* Подключаем Iris Color Picker
----------------------------------------------------------------- */
function add_admin_iris_scripts( $hook ){
// подключаем IRIS
wp_enqueue_script( 'wp-color-picker' );
wp_enqueue_style( 'wp-color-picker' );
// подключаем свой файл скрипта
wp_enqueue_script('plugin-script', plugins_url('js/plugin-script.js', __FILE__), array('wp-color-picker'), false, 1 );
}
add_action( 'admin_enqueue_scripts', 'add_admin_iris_scripts' );
// Вывод страницы опций в субменю
function ark_rp_options_page() {
screen_icon('users');
echo '
Плагин ark-relatedpost
';
?>
Настройки связанных записей
$_POST['ark_imgsize'],
'ark_imgurl' => $_POST['ark_imgurl'],
'ark_maxword' => $_POST['ark_maxword'],
'ark_bgcolor' => $_POST['ark_bgcolor'],
'ark_nobgcolor' => $_POST['ark_nobgcolor'],
'ark_bordercolor' => $_POST['ark_bordercolor'],
'ark_nobordercolor' => $_POST['ark_nobordercolor'],
'ark_width' => $_POST['ark_width'],
'ark_titlecolor' => $_POST['ark_titlecolor'],
'ark_titleshadow' => $_POST['ark_titleshadow'],
'ark_titleshadowcolor' => $_POST['ark_titleshadowcolor'],
'ark_titleshadowx' => $_POST['ark_titleshadowx'],
'ark_titleshadowy' => $_POST['ark_titleshadowy'],
'ark_titleshadowr' => $_POST['ark_titleshadowr'],
'ark_textcolor' => $_POST['ark_textcolor'],
'ark_titlefontsize' => $_POST['ark_titlefontsize'],
'ark_titletop' => $_POST['ark_titletop'],
'ark_textfontsize' => $_POST['ark_textfontsize'],
'ark_orientation' => $_POST['ark_orientation'],
'ark_subtitlefontsize' => $_POST['ark_subtitlefontsize'],
'ark_subtitlecolor' => $_POST['ark_subtitlecolor'],
'ark_subtitlesymbol' => $_POST['ark_subtitlesymbol'],
'ark_maxposts' => $_POST['ark_maxposts'],
'ark_title' => $_POST['ark_title'],
'ark_maxgposts' => $_POST['ark_maxgposts'],
'ark_source' => $_POST['ark_source'],
'ark_borderradius' => $_POST['ark_borderradius'],
'ark_imgborderradius' => $_POST['ark_imgborderradius'],
'ark_setdivheight' => $_POST['ark_setdivheight'],
'ark_targetblank' => $_POST['ark_targetblank'],
'ark_first' => $_POST['ark_first'],
'ark_hand' => $_POST['ark_hand'],
);
update_option('ark_relpost', $ark_option);
echo '
'.__('Settings saved.').'
';
} else if ( isset($_POST['reset']) ) {
// При сбросе: удаляем записи опций из БД
delete_option( 'ark_relpost' );
ark_init_option();
echo '
' .
'Настройки успешно восстановлены по умолчанию.' .
'
';
}
?>
/i', $post->post_content, $matches);
$first_img = $matches [1] [0];
return $first_img;
}
// Материалы по теме
function get_ark_related_posts() {
$result = get_option('ark_relpost');
$arkImgSize = $result['ark_imgsize'];
$arkMaxWord = $result['ark_maxword'];
$arkTitle = $result['ark_title'];
$arkWidth = $result['ark_width'];
$userimgurl = $result['ark_imgurl'];
$arkborderradius = 'border-radius: '.$result['ark_borderradius'].'px;
-moz-border-radius: '.$result['ark_borderradius'].'px '.$result['ark_borderradius'].'px '.$result['ark_borderradius'].'px '.$result['ark_borderradius'].'px;
-webkit-border-bottom-left-radius:'.$result['ark_borderradius'].'px;
-webkit-border-bottom-right-radius:'.$result['ark_borderradius'].'px;
-webkit-border-top-left-radius:'.$result['ark_borderradius'].'px;
-webkit-border-top-right-radius:'.$result['ark_borderradius'].'px;';
$arkimgborderradius = 'border-radius: '.$result['ark_imgborderradius'].'px;
-moz-border-radius: '.$result['ark_imgborderradius'].'px '.$result['ark_imgborderradius'].'px '.$result['ark_imgborderradius'].'px '.$result['ark_imgborderradius'].'px;
-webkit-border-bottom-left-radius:'.$result['ark_imgborderradius'].'px;
-webkit-border-bottom-right-radius:'.$result['ark_imgborderradius'].'px;
-webkit-border-top-left-radius:'.$result['ark_imgborderradius'].'px;
-webkit-border-top-right-radius:'.$result['ark_imgborderradius'].'px;';
if ($result['ark_titleshadow'] == 1) {$arktitleshadow = 'text-shadow:'. $result['ark_titleshadowx'] .'px '. $result['ark_titleshadowy'] .'px '. $result['ark_titleshadowr'] .'px '. $result['ark_titleshadowcolor'] .' !important;'; } else {$arktitleshadow = 'text-shadow: 0px 0px 0px !important;';}
if ($result['ark_nobgcolor'] == 1) {$arkbgcolor = 'background: none !important;'; } else {$arkbgcolor = 'background:' . $result['ark_bgcolor'] .' !important;';}
if ($result['ark_nobordercolor'] == 1) {$arkborder = 'border: 0px !important;'; $arkborderradius=''; } else {$arkborder = 'border: 1px solid ' . $result['ark_bordercolor'] .' !important;';}
$MaxGPosts = 0;
$CntPosts = 0;
if ($result['ark_source']==0) {
$tags = wp_get_post_tags(get_the_ID());
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids, // Сортировка происходит по тегам (меткам)
'orderby'=>rand(), // Добавляем условие сортировки рандом (случайный подбор)
'caller_get_posts'=>1, // Запрещаем повторение ссылок
'post__not_in' => array(get_the_ID()),
'showposts'=>$result['ark_maxposts'] // Цифра означает количество выводимых записей
);
}
} else {
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array(get_the_ID()),
'showposts'=>$result['ark_maxposts'],
'caller_get_posts'=>1);
}
}
$my_query = new wp_query($args);
$outtmp = '';
if( $my_query->have_posts() ) {
// Основной блок
$arkrpbeg = '';
// Заголовок основного блока
$arkrpbeg = $arkrpbeg . '
' . $result['ark_title'] . '
';
$arkrpbeg = $arkrpbeg . '';
$arkrpend = '';
$arksubtitlesymbol = trim($result['ark_subtitlesymbol']);
if ($arksubtitlesymbol!= '') {
$arksubtitlesymbol.=' ';
}
if ($result['ark_nobgcolor'] == 1) {$arkbgdivcolor = 'none'; } else {$arkbgdivcolor = $result['ark_bgcolor'] ;}
while ($my_query->have_posts()) {
$my_query->the_post();
$arkpostlinks = get_permalink();
if ($result['ark_orientation']==0) {
// Настройки вертикального вывода
$arkdivheight = $result['ark_imgsize'] + 8;
$arkdivheight = $arkdivheight . 'px;';
$arkrpbegpost = '';
$arkrpendpost = '
';
$arkpbeforeimage='';
$arkpafterimage='';
$arkimgalign = 'left';
$arkdivstyle = 'line-height: 110% !important; padding-top:10px; font-weight: normal !important; text-align: left !important;';
// Определяем картинку
$arkpimg = '
';
} else {
// Настройки горизонтального вывода
if ($result['ark_maxgposts']>0) {
$arkmaxprocwidth = intval(100/$result['ark_maxgposts'])-1 . '%;';
} else {
$arkmaxprocwidth = '25%;';
}
$MaxGPosts++;
$CntPosts++;
if ($result['ark_setdivheight'] == 1) {
$arkdivheight = $result['ark_imgsize'] + 20 + ($result['ark_subtitlefontsize']*5) + intval($arkMaxWord*$result['ark_maxgposts']/2*($result['ark_textfontsize']/5))+($result['ark_textfontsize']*$result['ark_maxgposts']);
$arkdivheight = $arkdivheight . 'px;';
} else {
$arkdivheight = '100%;';
}
$arkdivstyle = 'display:inline; float:left; max-width:'.$arkmaxprocwidth.' width:'.$arkmaxprocwidth.'min-width:50px;border:0px; margin:2px; text-align:left !important; height:'.$arkdivheight.' min-height:'.$arkdivheight.' max-height:'.$arkdivheight.' padding:0px; overflow:hidden;';
$arkrpbegpost = '';
if ($MaxGPosts==$result['ark_maxgposts']) {
//$arkrpbegpost = '' . $arkrpbegpost;
$MaxGPosts=0;
$arkrpendpost = '
';
} else {
$arkrpendpost = '';
}
$arkpbeforeimage='';
$arkpafterimage='';
$arkimgalign = 'top';
// Определяем картинку
$arkpimg = '
';
}
// Конец настроек вывода
// Определяем картинку
$arkpimg = $arkpbeforeimage . $arkpimg . $arkpafterimage;
if ($result['ark_imgsize']>0) {
/*$arkrp = '';*/
$arkrp = $arkrp . $arkpimg;
/*$arkrp = $arkrp . '' ;*/
} else {
$arkrp = '';
}
$arkpimg = $arkrp;
$arkrp = '';
// Конец определения картинки
// Заголовок записи
$arksubtitle = '' . $arksubtitlesymbol . get_the_title() . '
';
//$arkrp = $arkrp .$arksubtitle;
// Вывод описания
if ($arkMaxWord > 0) {
$arkrp = $arkrp . '';
$arkrp = $arkrp . ark_content_rss('', TRUE, '', $arkMaxWord);
$arkrp = $arkrp . '
';
$arkopis = $arkrp;
}
// Конец настроек вывода
if ($result['ark_targetblank']==1) {
$arkptarget = 'target="_blank"';
} else {
$arkptarget = '';
}
if ($result['ark_orientation']==0) {
$outtmp = $outtmp . '' . $arkrpbegpost . $arkpimg . $arksubtitle . $arkopis . $arkrpendpost . '';
}else{
$outtmp = $outtmp . $arkdivtbl . '' . $arkrpbegpost . $arkpimg . $arksubtitle . $arkopis . $arkrpendpost . '';
}
$arkrpbegpost = '';
$arkrp = '';
$arkrpendpost = '';
}
if ($result['ark_orientation']==0) {
$outtmp = $outtmp . '';
}
$out = $arkrpbeg . $outtmp . '' . $arkrpend;
//echo $out;
wp_reset_query();
return $out;
}
// Материалы по теме End
}
add_filter( 'the_content', 'ark_related_posts_auto', 999 );
function ark_related_posts_auto( $content ) {
if (is_single ()) {
$arkrelatedpost = get_ark_related_posts();
$content = $content . $arkrelatedpost;
}
return $content;
}
function ark_content_rss($more_link_text='(more...)', $stripteaser=0, $more_file='', $cut = 0, $encode_html = 0) {
_deprecated_function( __FUNCTION__, '2.9', 'the_content_feed' );
$content = get_the_content($more_link_text, $stripteaser);
$content = apply_filters('ark_content_rss', $content);
if ( $cut && !$encode_html )
$encode_html = 2;
if ( 1== $encode_html ) {
$content = esc_html($content);
$cut = 0;
} elseif ( 0 == $encode_html ) {
$content = make_url_footnote($content);
} elseif ( 2 == $encode_html ) {
$content = strip_tags($content);
}
if ( $cut ) {
$blah = explode(' ', $content);
if ( count($blah) > $cut ) {
$k = $cut;
$use_dotdotdot = 1;
} else {
$k = count($blah);
$use_dotdotdot = 0;
}
/** @todo Check performance, might be faster to use array slice instead. */
for ( $i=0; $i<$k; $i++ )
$excerpt .= $blah[$i].' ';
$excerpt .= ($use_dotdotdot) ? '...' : '';
$content = $excerpt;
}
$content = preg_replace("#\[.*?\]#","",$content);
$content = str_replace(']]>', ']]>', $content);
return $content;
/*return cropStr($content, $cut); */
}
function cropStr($str, $size){
return mb_substr($str,0,mb_strrpos(mb_substr($str,0,$size,'utf-8'),' ',utf-8),'utf-8');
}
?>