Личные сообщения пользователей – чат

Здравствуйте!
Ищу плагин для реализации личных сообщений между пользователями, в реальном времени.
Т.е. нужно что-то вроде чата, только чтобы это была связь между двумя пользователями, в реальном времени (чтобы на ajax например обновлялось окно чата).
Есть ли такое готовое решение?
Спасибо.

Blockquote и тег more

Если в посте есть blockquote, и если разбить его тегом more, то при отображении в ленте все теги получаются обрезанными, и в коде страницы оказываются ошибки. Этого можно как-то избежать?
Поясню на всякий случай. В ленте (не в посте) не будет закрывающего тега /blockquote, закрывающих тегов /p и прочих, что были до more.

Вывод на страницу статей по рубрикам

Уважаемые форумчане, помогите решить проблему. При клике на определенной рубрике на страницу выводятся все статьи. Хотелось бы что бы выводились статьи только выбранной рубрики. При публикации статьи рубрику указываю. В сайдбаре выводятся рубрики и количество статей в ней. Пробовала разные шаблоны – это не помогло. Подскажите где перекос.
p.s. уважаемый модератор, прошу прощения, не дочитала правила форума и в предыдущем посте дала активную ссылку на свой сайт. Исправляюсь ссылку не даю. Но очень нуждаюсь в помощи.

Помогите за реальную плату

Здравствуйте, уважаемые.
Купил новый шаблон http://pixelgrade.com/demos/themes/?product=lens
Хочу его адаптировать под свой сайт.
Кто может за это взяться?
Все подробности по почте andry65@yandex.ru
Спасибо и с Новым годом!

вопрос по работе maxcache

стало интересно на каком принципе основана работа maxcache, а именно- как получается сделать расход памяти меньше 1 мб?
если взять пустой пхп файл и вызвать код

echo round(memory_get_usage()/1024/1024, 2);

то получается примерно 4 мб
как еще можно уменьшить расход памяти?

Положение сайдбар

Здравствуйте,
Помогите новичку разобрать как "посунуть" правий сайдбар на несколоко рх впрово-влево

Мне нужно было увеличить ширину блока content и при этом правый сайдбар оказался чуть-бы не поцентру. Хочу его отодвинуть вправо.

total cache & xcache

есть вдс с установленным xcache
есть плагин total cache с включенным дебагом
при выборе Database Cache Method opcode xcache в дебаге видно что запросы к базе не кешируются
если выбрать для кеширования диск то запросы кешируются

какие будут идеи?

Как сохранить изменения в menuMatic.css?

Здравствуйте,
Помогите новичку разобраться, почему не сохраняются изменения в файле menuMatic.css ?

Я хочу увеличить шрифт в меню блога.
Ч/з Firebug нашел, что за этот элемент отвечает файл menuMatic.css, строчка № х. Поигрался с размерами – да, действительно происходит увеличение размера шрифта всего меню.
В файле menuMatic.css у себя на компе изменил размер, удалил на севере menuMatic.css и залил с компа на сервер измененный menuMatic.css

Но почему-то, все осталась таким-же.

Еще раз проверяю блог ч/з Firebug – изминений никаких. Размер остается таким-же, как и был до замены файла menuMatic.css.

Что я делаю не так?

Как удалить меню в шаблоне WordPress?

Здравствуйте,
Подскажите новичку как удалить верхнее меню в шаблоне WordPress?

С помощью Firebug нашел этот элемент на своем блоге, вот он в HTML:

<div class="menu-links">

в правой части окна Firebug (Стили) есть ссылки на разные строки файла screen.css. А что именно нужно удалить – не понимаю.

пропал русский язык и все плагины

использую версию WP 3.6. однажды при заходе в админку увидел, что пропал русский язык и все плагины. на FTP все присутствует. пытался загрузить любой имеющийся плагин получил вот такую запись:
Download failed. Could not open handle for fopen() to /var/tmp/rustolat.tmp
помогите разобраться. хостинг мастерхост

BuddyBar и аватарки на всех сайтах сети

Есть сеть сайтов с установленным BuddyPress. Но при этом панель BuddyPress работает только на главном сайте, и аватарки, загружаеміе пользователем BuddyPress в свой профиль, не поддериваются на блогах сети. Кто-ниубдь знает, как все исправить?

Предупреждение при переходе по ссылке

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

отключить sql_calc_found_rows

очень много запросов такого типа

# Time: 131223  1:30:05

# Query_time: 8.242014  Lock_time: 0.000085 Rows_sent: 10  Rows_examined: 8765

SET timestamp=1387762205;
SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  WHERE 1=1  AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish')  ORDER BY wp_posts.post_date DESC LIMIT 20, 10;

гугление не помогло, куча тем, люди жалуются на тормоза, им пишут ответы-отмазки типа поставьте кеш-плагин
плагины на сайте стоят но кажется что толку 0

кто может дать нормальный совет как исправить ситуацию?

Проблема с отображением сайта

Сайт не открывается(выдает ошибку), по ссылкам на него не переходит, в том числе по разделам и из поисковика. В админку так же зайти не получается. Пишет
" К сожалению, Google Chrome не может открыть страницу cvetnik48.ru.
Снова откройте страницу: cvetnik48.­ru ". Такая же ситуация с других браузеров.

В начале прошлой недели (когда заходил последний раз, все работало) Ничего не менял с тех пор. Единственное событие – письмо на почту от 18 декабря от wordpress@cvetnik48.ru

"Новая обратная ссылка к записи "Aliquam erat volutpat" ожидает проверки
http://cvetnik48.ru/?p=80

Сайт: Craig (IP: 176.125.64.249 , 176.125.64.249)
URL: http://%/csetgrpat78
Начало обратной ссылки:
blackman@inevitably.anta" rel="nofollow">.

hello.

Одобрить: http://cvetnik48.ru/wp-admin/comment.ph … ve&c=3
В корзину: http://cvetnik48.ru/wp-admin/comment.ph … sh&c=3
Спам: http://cvetnik48.ru/wp-admin/comment.ph … am&c=3
В настоящее время ожидают проверки 2 комментария. Пожалуйста, посетите панель модерирования:
http://cvetnik48.ru/wp-admin/edit-comme … ated"

Подскажите, что может быть?

Ошибка в wp-db.php

После переноса сайта на локальный сервер появилась вот такая ошибка " Warning: Missing argument 2 for wpdb::prepare(), called in Z:\home\******\www\wp-content\plugins\category-icons\category_icons.php on line 1047 and defined in Z:\home\visittuva.su\www\wp-includes\wp-db.php on line 992 "!?

Убрать рекламу.

Всем привет. Если не сложно помогите плз. Сам уже замучился. Скачал красивый шаблон под названием "Puzzles".
Начал под себя настраивать, но потом заметил проблему. В самом низу сайта на всех страницах надпись wordpress а при нажатие на неё переходишь на какой-то сайт =(
Вот ссылка ( не сочтите за рекламу, там даже нечего нету=) ): http://gamepie.besaba.com/
Лазил по footer.php и по functions.php , но нечего не нашёл.
Вот код из footer.php :
[code- <?php
/**

  • The template for displaying the footer.
  • @package puzzles

*/
?>
</div><!– #main –>

<footer id="footer" class="site_footer" role="contentinfo">
<?php if (get_custom_option(‘show_sidebar_advert’) == ‘yes’ ) { ?>
<div id="advert" class="site_advert">
<div id="advert_sidebar" class="widget_area sidebar_advert theme_<?php echo get_custom_option(‘sidebar_advert_theme’); ?>" role="complementary">
<div id="advert_sidebar_inner">
<?php do_action( ‘before_sidebar’ ); ?>
<?php if ( ! dynamic_sidebar( get_custom_option(‘sidebar_advert’) ) ) { ?>
<?php // Put here html if user no set widgets in sidebar ?>
<?php } // end sidebar widget area ?>
</div>
</div>
</div>
<?php } ?>

<?php if (get_custom_option(‘show_sidebar_footer’) == ‘yes’ ) { ?>
<div id="footer_sidebar" class="widget_area sidebar_footer theme_<?php echo get_custom_option(‘sidebar_footer_theme’); ?> theme_article" role="complementary">
<div id="footer_sidebar_inner">
<?php do_action( ‘before_sidebar’ ); ?>
<?php if ( ! dynamic_sidebar( get_custom_option(‘sidebar_footer’) ) ) { ?>
<?php // Put here html if user no set widgets in sidebar ?>
<?php } // end sidebar widget area ?>
</div>
</div>

<div id="footer_copyright" class="theme_<?php echo get_custom_option(‘sidebar_footer_theme’); ?> theme_article">
<div id="footer_copyright_inner" class="theme_text">

<?php
echo get_theme_option(‘footer_copyright’)
?>
</div>
</div>
<?php } ?>
</footer>

</div><!– #page –>

<a href="#" id="toTop" class="theme_button icon-up-open-big"></a>

<div id="popup_login" class="popup_form">
<div class="popup_body theme_article">
<h4 class="popup_title"><?php _e(‘Login’, ‘themerex’); ?></h4>
<form action="<?php echo wp_login_url(); ?>" method="post" name="login_form">
<input type="hidden" name="redirect_to" value="<?php echo home_url(); ?>"/>
<div class="popup_field"><input type="text" name="log" id="log" placeholder="<?php _e(‘Login*’, ‘themerex’); ?>" /></div>
<div class="popup_field"><input type="password" name="pwd" id="pwd" placeholder="<?php _e(‘Password*’, ‘themerex’); ?>" /></div>
<div class="popup_field popup_button"><a href="#" class="theme_button"><?php _e(‘Login’, ‘themerex’); ?></a></div>
<div class="popup_field forgot_password">
<a href="<?php echo wp_lostpassword_url( get_permalink() ); ?>"><?php _e(‘Forgot password?’, ‘themerex’); ?></a>
</div>
<div class="popup_field register">
<a href="#"><?php _e(‘Register’, ‘themerex’); ?></a>
</div>
<div class="result sc_infobox"></div>
</form>
</div>
</div>

<div id="popup_register" class="popup_form">
<div class="popup_body theme_article">
<h4 class="popup_title"><?php _e(‘Registration’, ‘themerex’); ?></h4>
<form action="#" method="post" name="register_form">
<input type="hidden" name="redirect_to" value="<?php echo home_url(); ?>"/>
<div class="popup_field"><input type="text" name="registration_username" id="registration_username" placeholder="<?php _e(‘Your name (login)*’, ‘themerex’); ?>" /></div>
<div class="popup_field"><input type="text" name="registration_email" id="registration_email" placeholder="<?php _e(‘Your email*’, ‘themerex’); ?>" /></div>
<div class="popup_field"><input type="password" name="registration_pwd" id="registration_pwd" placeholder="<?php _e(‘Your Password*’, ‘themerex’); ?>" /></div>
<div class="popup_field"><input type="password" name="registration_pwd2" id="registration_pwd2" placeholder="<?php _e(‘Confirm Password*’, ‘themerex’); ?>" /></div>
<div class="popup_field theme_info registration_role"><p><?php _e(‘Desired role:’,’themerex’); ?></p>
<input type="radio" name="registration_role" id="registration_role1" value="1" checked="checked" /><label for="registration_role1"><?php _e(‘Subscriber’, ‘themerex’); ?></label>
<input type="radio" name="registration_role" id="registration_role2" value="2" /><label for="registration_role2"><?php _e(‘Author’, ‘themerex’); ?></label>
</div>
<div class="popup_field registration_msg_area"><textarea name="registration_msg" id="registration_msg" placeholder="<?php _e(‘Your message’, ‘themerex’); ?>"></textarea></div>
<div class="popup_field popup_button"><a href="#" class="theme_button"><?php _e(‘Register’, ‘themerex’); ?></a></div>
<div class="result sc_infobox"></div>
</form>
</div>
</div>

<?php
if (get_theme_option(‘show_theme_customizer’) == ‘yes’) {
$theme_color = get_custom_option(‘theme_color’);
$body_style = get_custom_option(‘body_style’);
$bg_color = get_custom_option(‘bg_color’);
$bg_pattern = get_custom_option(‘bg_pattern’);
$bg_image = get_custom_option(‘bg_image’);
?>
<div id="custom_options">
<div class="co_header">
<a href="#" id="co_toggle" class="icon-cog"></a>
<div class="co_title_wrapper"><h4 class="co_title"><?php _e(‘Choose Your Style’, ‘themerex’); ?></h4></div>
</div>
<div class="co_options">
<form name="co_form">
<input type="hidden" id="co_site_url" name="co_site_url" value="<?php echo ‘http://’ . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?>" />
<div class="co_form_row">
<input type="hidden" name="co_body_style" value="<?php echo $body_style; ?>" />
<span class="co_label"><?php _e(‘Background:’, ‘themerex’); ?></span>
<div class="co_switch_box">
<a href="#" class="stretched"><?php _e(‘Stretched’, ‘themerex’); ?></a>
<div class="switcher"><a href="#"></a></div>
<a href="#" class="boxed"><?php _e(‘Boxed’, ‘themerex’); ?></a>
</div>
<?php if ($body_style == ‘boxed’) { ?>
<script type="text/javascript">
jQuery(document).ready(function() {
var box = jQuery(‘#custom_options .switcher’);
var switcher = box.find(‘a’).eq(0);
var right = box.width() – switcher.width() + 2;
switcher.css({left: right});
});
</script>
<?php } ?>
</div>
<div class="co_form_row">
<input type="hidden" name="co_bg_color" value="<?php echo $bg_color; ?>" />
<span class="co_label"><?php _e(‘Background color:’, ‘themerex’); ?></span>
<div id="co_bg_color" class="iColorPicker"></div>
</div>
<div class="co_form_row">
<input type="hidden" name="co_bg_pattern" value="<?php echo $bg_pattern; ?>" />
<span class="co_label"><?php _e(‘Background pattern:’, ‘themerex’); ?></span>
<div id="co_bg_pattern_list">
<a href="#" id="pattern_1" class="co_pattern_wrapper<?php echo $bg_pattern==1 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/pattern_1.png" /></a>
<a href="#" id="pattern_2" class="co_pattern_wrapper<?php echo $bg_pattern==2 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/pattern_2.png" /></a>
<a href="#" id="pattern_3" class="co_pattern_wrapper<?php echo $bg_pattern==3 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/pattern_3.png" /></a>
<a href="#" id="pattern_4" class="co_pattern_wrapper<?php echo $bg_pattern==4 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/pattern_4.png" /></a>
<a href="#" id="pattern_5" class="co_pattern_wrapper<?php echo $bg_pattern==5 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/pattern_5.png" /></a>
</div>
</div>
<div class="co_form_row">
<input type="hidden" name="co_bg_image" value="<?php echo $bg_image; ?>" />
<span class="co_label"><?php _e(‘Background image:’, ‘themerex’); ?></span>
<div id="co_bg_images_list">
<a href="#" id="image_1" class="co_image_wrapper<?php echo $bg_image==1 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/image_1_thumb.jpg" /></a>
<a href="#" id="image_2" class="co_image_wrapper<?php echo $bg_image==2 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/image_2_thumb.jpg" /></a>
<a href="#" id="image_3" class="co_image_wrapper<?php echo $bg_image==3 ? ‘ current’ : ” ; ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/bg/image_3_thumb.jpg" /></a>
</div>
</div>
</form>
<script type="text/javascript" language="javascript">
jQuery(document).ready(function(){
// Theme & Background color
jQuery(‘#co_theme_color’).css(‘backgroundColor’, ‘<?php echo $theme_color; ?>’);
jQuery(‘#co_bg_color’).css(‘backgroundColor’, ‘<?php echo $bg_color; ?>’);
});
</script>
</div>
</div>
<?php
}

?>

<script type="text/javascript">
jQuery(document).ready(function() {
<?php
// Reject old browsers
global $THEMEREX_jreject;
if ($THEMEREX_jreject) {
?>
jQuery.reject({
reject : {
all: false, // Nothing blocked
msie5: true, msie6: true, msie7: true, msie8: true // Covers MSIE 5-8
/*
* Possibilities are endless…
*
* // MSIE Flags (Global, 5-8)
* msie, msie5, msie6, msie7, msie8,
* // Firefox Flags (Global, 1-3)
* firefox, firefox1, firefox2, firefox3,
* // Konqueror Flags (Global, 1-3)
* konqueror, konqueror1, konqueror2, konqueror3,
* // Chrome Flags (Global, 1-4)
* chrome, chrome1, chrome2, chrome3, chrome4,
* // Safari Flags (Global, 1-4)
* safari, safari2, safari3, safari4,
* // Opera Flags (Global, 7-10)
* opera, opera7, opera8, opera9, opera10,
* // Rendering Engines (Gecko, Webkit, Trident, KHTML, Presto)
* gecko, webkit, trident, khtml, presto,
* // Operating Systems (Win, Mac, Linux, Solaris, iPhone)
* win, mac, linux, solaris, iphone,
* unknown // Unknown covers everything else
*/
},
imagePath: "<?php echo get_template_directory_uri(); ?>/js/jreject/images/",
header: "<?php _e(‘Your browser is out of date’, ‘themerex’); ?>", // Header Text
paragraph1: "<?php _e(‘You are currently using an unsupported browser’, ‘themerex’); ?>", // Paragraph 1
paragraph2: "<?php _e(‘Please install one of the many optional browsers below to proceed’, ‘themerex’); ?>",
closeMessage: "<?php _e(‘Close this window at your own demise!’, ‘themerex’); ?>" // Message below close window link
});
<?php
}
?>
});

// Main menu settings
var THEMEREX_mainMenuFixed = <?php echo get_theme_option(‘menu_position’)==’fixed’ ? ‘true’ : ‘false’; ?>;
var THEMEREX_mainMenuMobile = <?php echo get_theme_option(‘responsive_layouts’)==’yes’ ? ‘true’ : ‘false’; ?>;
var THEMEREX_mainMenuSlider = <?php echo get_theme_option(‘menu_slider’)==’yes’ ? ‘true’ : ‘false’; ?>;

// Video and Audio tag wrapper
var THEMEREX_useMediaElement = <?php echo get_theme_option(‘use_mediaelement’)==’yes’ ? ‘true’ : ‘false’; ?>;

// Puzzles animations
var THEMEREX_puzzlesAnimations = <?php echo get_theme_option(‘puzzles_animations’)==’yes’ ? ‘true’ : ‘false’; ?>;

// Javascript String constants for translation
THEMEREX_GLOBAL_ERROR_TEXT = "<?php _e(‘Global error text’, ‘wspace’); ?>";
THEMEREX_NAME_EMPTY = "<?php _e(‘The name can\’t be empty’, ‘wspace’); ?>";
THEMEREX_NAME_LONG = "<?php _e(‘Too long name’, ‘wspace’); ?>";
THEMEREX_EMAIL_EMPTY = "<?php _e(‘Too short (or empty) email address’, ‘wspace’); ?>";
THEMEREX_EMAIL_LONG = "<?php _e(‘Too long email address’, ‘wspace’); ?>";
THEMEREX_EMAIL_NOT_VALID = "<?php _e(‘Invalid email address’, ‘wspace’); ?>";
THEMEREX_MESSAGE_EMPTY = "<?php _e(‘The message text can\’t be empty’, ‘wspace’); ?>";
THEMEREX_MESSAGE_LONG = "<?php _e(‘Too long message text’, ‘wspace’); ?>";
THEMEREX_SEND_COMPLETE = "<?php _e("Send message complete!", ‘wspace’); ?>";
THEMEREX_SEND_ERROR = "<?php _e("Transmit failed!", ‘wspace’); ?>";
THEMEREX_LOGIN_EMPTY = "<?php _e("The Login field can’t be empty", ‘themerex’); ?>";
THEMEREX_LOGIN_LONG = "<?php _e(‘Too long login field’, ‘themerex’); ?>";
THEMEREX_PASSWORD_EMPTY = "<?php _e("The password can’t be empty and shorter then 5 characters", ‘themerex’); ?>";
THEMEREX_PASSWORD_LONG = "<?php _e(‘Too long password’, ‘themerex’); ?>";
THEMEREX_PASSWORD_NOT_EQUAL = "<?php _e(‘The passwords in both fields are not equal’, ‘themerex’); ?>";
THEMEREX_REGISTRATION_SUCCESS= "<?php _e(‘Registration success! Please log in!’, ‘themerex’); ?>";
THEMEREX_REGISTRATION_FAILED= "<?php _e(‘Registration failed!’, ‘themerex’); ?>";
THEMEREX_REGISTRATION_AUTHOR= "<?php _e(‘Your account is waiting for the site admin moderation!’, ‘themerex’); ?>";
THEMEREX_GEOCODE_ERROR = "<?php _e("Geocode was not successful for the following reason:", ‘wspace’); ?>";
THEMEREX_GOOGLE_MAP_NOT_AVAIL="<?php _e("Google map API not available!", ‘themerex’); ?>";
THEMEREX_NAVIGATE_TO = "<?php _e("Navigate to…", ‘themerex’); ?>";

// AJAX parameters
<?php global $THEMEREX_ajax_url, $THEMEREX_ajax_nonce; ?>
var THEMEREX_ajax_url = "<?php echo $THEMEREX_ajax_url; ?>";
var THEMEREX_ajax_nonce = "<?php echo $THEMEREX_ajax_nonce; ?>";

</script>

<?php wp_footer(); ?>

</body>
</html>[/code]
А вот код из functions.php :

<?php
/**
 * Norma theme functions and definitions
 *
 * @package puzzles
 */

/**
 * Make theme available for translation
 * Translations can be filed in the /languages/ directory
 */
load_theme_textdomain( 'themerex', get_template_directory() . '/languages' );

/**
 * Set the content width based on the theme's design and stylesheet.
 */
if ( ! isset( $content_width ) )
    $content_width = 1320; /* pixels */


add_action( 'after_setup_theme', 'theme_setup' );
function theme_setup() {
    /**
     * WP core supports
     */
    // Add default posts and comments RSS feed links to head 
    add_theme_support( 'automatic-feed-links' );
    // Enable support for Post Thumbnails
    add_theme_support( 'post-thumbnails' );
    // Custom header setup
    add_theme_support( 'custom-header', array('header-text'=>false));
    // Custom backgrounds setup
    add_theme_support( 'custom-background');
    // Supported posts formats
    add_theme_support( 'post-formats', array('gallery', 'video', 'audio', 'link', 'quote', 'image') ); 
    // Add user menu
    add_theme_support('nav-menus');
    if ( function_exists( 'register_nav_menus' ) ) {
        register_nav_menus(
            array(
                'mainmenu' => 'Main Menu'
            )
        );
    }
    // Editor custom stylesheet - for user
    add_editor_style('css/editor-style.css');    
}


// TinyMCE styles selector 
/*
add_filter('tiny_mce_before_init', 'theme_mce_add_styles');
function theme_mce_add_styles($init) {
    $init['theme_advanced_buttons2_add'] = 'styleselect';
    $init['theme_advanced_styles'] = 
          'Titles (underline)=sc_title'
    ;
    return $init;
}
*/
/*
// TinyMCE add buttons
add_filter( 'mce_buttons', 'theme_mce_buttons' );
function theme_mce_buttons($arr) {
    return array('bold', 'italic', '|', 'bullist', 'numlist', '|', 'formatselect', 'styleselect', '|', 'link', 'unlink' );
}
*/

/**
 * Register widgetized area and update sidebar with default widgets
 */
add_action( 'widgets_init', 'theme_widgets_init' );
function theme_widgets_init() {
    if ( function_exists('register_sidebar') ) {
        register_sidebar( array(
            'name'          => __( 'Main Sidebar', 'themerex' ),
            'id'            => 'sidebar-main',
            'before_widget' => '<aside id="%1$s" class="widget %2$s">',
            'after_widget'  => '</aside>',
            'before_title'  => '<h3 class="widget_title theme_title">',
            'after_title'   => '</h3>',
        ) );
        register_sidebar( array(
            'name'          => __( 'Advertisement Sidebar', 'themerex' ),
            'id'            => 'sidebar-advert',
            'before_widget' => '<aside id="%1$s" class="widget %2$s">',
            'after_widget'  => '</aside>',
            'before_title'  => '<h3 class="widget_title theme_title">',
            'after_title'   => '</h3>',
        ) );
        register_sidebar( array(
            'name'          => __( 'Footer Sidebar', 'themerex' ),
            'id'            => 'sidebar-footer',
            'before_widget' => '<aside id="%1$s" class="widget %2$s">',
            'after_widget'  => '</aside>',
            'before_title'  => '<h3 class="widget_title theme_title">',
            'after_title'   => '</h3>',
        ) );
        // Custom sidebars
        $sidebars = explode(',', get_theme_option('custom_sidebars'));
        for ($i=0; $i<count($sidebars); $i++) {
            if (trim(chop($sidebars[$i]))=='') continue;
            $sb = explode('|', $sidebars[$i]);
            if (count($sb)==1) $sb[1] = $i+1;
            register_sidebar( array(
                'name'          => $sb[0],
                'id'            => 'custom-sidebar-'.$sb[1],
                'before_widget' => '<aside id="%1$s" class="widget %2$s">',
                'after_widget'  => '</aside>',
                'before_title'  => '<h3 class="widget_title theme_title">',
                'after_title'   => '</h3>',
            ) );        
        }
    }
}


/**
 * Enqueue scripts and styles
 */
add_action( 'wp_enqueue_scripts', 'theme_scripts' );
function theme_scripts() {
    //Enqueue styles
    $font = get_custom_option('theme_font');
    $fonts = getFontsList(false);
    if (isset($fonts[$font])) {
        $font_link = $fonts[$font]['link'];
    } else {
        $font_link = "Oxygen:400,700";
    }
    wp_enqueue_style( 'theme-font', 'http://fonts.googleapis.com/css?family='.$font_link.'&subset=latin,cyrillic-ext,latin-ext,cyrillic' );
    wp_enqueue_style( 'main-style', get_stylesheet_uri() );
    $themes = array();
    $themes[get_custom_option('blog_theme')] = 1;
    $themes[get_custom_option('sidebar_main_theme')] = 1;
    $themes[get_custom_option('sidebar_advert_theme')] = 1;
    $themes[get_custom_option('sidebar_footer_theme')] = 1;
    foreach($themes as $style=>$v) {
        wp_enqueue_style( 'theme-'.$style,  esc_url(get_template_directory_uri() . '/css/themes/'.$style.'.css') );
    }
    wp_enqueue_style( 'shortcodes',  get_template_directory_uri() . '/css/shortcodes.css' );
    wp_add_inline_style( 'shortcodes', prepareThemeCustomStyles() );
    if (get_theme_option('responsive_layouts') == 'yes') {
        wp_enqueue_style( 'responsive',  get_template_directory_uri() . '/css/responsive.css' );
    }
    // Loads the Internet Explorer specific stylesheet.
    wp_enqueue_style( 'puzzles-ie', get_template_directory_uri() . '/css/ie.css', array( 'main-style' ), '2013-10-01' );
    wp_style_add_data( 'puzzles-ie', 'conditional', 'lt IE 10' );

    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'jquery-cookie', get_template_directory_uri().'/js/jquery.cookie.js', array('jquery'), '1.0.0', true);
    wp_enqueue_script( 'jquery-easing', get_template_directory_uri().'/js/jquery.easing.js', array('jquery'), '1.0.0', true );

    wp_enqueue_script( 'superfish', get_template_directory_uri() . '/js/superfish.js', array('jquery'), '1.0', true );
    if (get_theme_option('responsive_layouts')=='yes') {
        wp_enqueue_script( 'mobilemenu', get_template_directory_uri().'/js/jquery.mobilemenu.min.js', array('jquery'), '1.0.0', true );
    }
    if (get_theme_option('menu_slider')=='yes') {
        wp_enqueue_script( 'slidemenu', get_template_directory_uri().'/js/jquery.slidemenu.js', array('jquery'), '1.0.0', true );
    }

    wp_enqueue_script( 'skip-link-focus-fix', get_template_directory_uri() . '/js/skip-link-focus-fix.js', false, '20130115', true );

    wp_enqueue_script( '_utils', get_template_directory_uri() . '/js/_utils.js', array(), '1.0.0', true );
    wp_enqueue_script( '_front', get_template_directory_uri() . '/js/_front.js', array(), '1.0.0', true );    
    wp_enqueue_script( '_reviews', get_template_directory_uri() . '/js/_reviews.js', array('jquery'), '1.0.0', true );

    wp_enqueue_style(  'prettyphoto-style', get_template_directory_uri() . '/js/prettyphoto/css/prettyPhoto.css' );
    wp_enqueue_script( 'prettyphoto', get_template_directory_uri() . '/js/prettyphoto/jquery.prettyPhoto.js', array('jquery'), '3.1.5', true );

    wp_enqueue_script( 'flexslider', get_template_directory_uri() . '/js/jquery.flexslider.min.js', array('jquery'), '2.1', true );

    if (get_theme_option('use_mediaelement')=='yes') {
        wp_enqueue_style(  'mediaplayer-style',  get_template_directory_uri() . '/js/mediaplayer/mediaelementplayer.css' );
        wp_enqueue_script( 'mediaplayer', get_template_directory_uri() . '/js/mediaplayer/mediaelement-and-player.min.js', false, '1.0.0', true );
    }

    if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
        wp_enqueue_script( 'comment-reply' );
    }

    if (get_theme_option('show_theme_customizer') == 'yes') {
        wp_enqueue_script('jquery-ui-draggable');
    }
}

require_once( ABSPATH . 'wp-admin/includes/plugin.php' );

require_once( get_template_directory() . '/includes/_debug.php' );

require_once( get_template_directory() . '/includes/_utils.php' );
require_once( get_template_directory() . '/includes/_wp_utils.php' );

require_once( get_template_directory() . '/admin/theme-settings.php' );

require_once( get_template_directory() . '/includes/theme-customizer.php' );

require_once( get_template_directory() . '/includes/aq_resizer.php' );

require_once( get_template_directory() . '/includes/type-category.php' );
require_once( get_template_directory() . '/includes/type-post.php' );
require_once( get_template_directory() . '/includes/type-page.php' );

require_once( get_template_directory() . '/includes/shortcodes.php' );
require_once( get_template_directory() . '/includes/wp-pagenavi.php' );

require_once( get_template_directory() . '/includes/update-notifier.php' );

require_once( get_template_directory() . '/widgets/widget-top10.php' );
require_once( get_template_directory() . '/widgets/widget-popular-posts.php' );
require_once( get_template_directory() . '/widgets/widget-recent-posts.php' );
require_once( get_template_directory() . '/widgets/widget-recent-reviews.php' );
require_once( get_template_directory() . '/widgets/widget-advert.php' );
require_once( get_template_directory() . '/widgets/widget-flickr.php' );
require_once( get_template_directory() . '/widgets/qrcode/widget-qrcode.php' );
require_once( get_template_directory() . '/widgets/widget-socials.php' );
/*
require_once( get_template_directory() . '/widgets/widget-twitter.php' );
require_once( get_template_directory() . '/widgets/widget-contact-form.php' );
*/



// Admin side setup
if (is_admin()) {
    add_action('admin_head', 'admin_theme_setup');
    function admin_theme_setup(){
        wp_enqueue_script('jquery');
        wp_enqueue_script('jquery-ui-tabs');
        wp_enqueue_script( 'jquery-cookie', get_template_directory_uri().'/js/jquery.cookie.js', array('jquery'), '1.0.0', true);

        wp_enqueue_style(  'wp-color-picker' );
        wp_enqueue_script( 'wp-color-picker' );

        wp_enqueue_style(  'theme-admin-style',  get_template_directory_uri() . '/css/admin-style.css' );
    
        wp_enqueue_script( '_utils', get_template_directory_uri() . '/js/_utils.js', array(), '1.0.0', true );
        wp_enqueue_script( '_reviews', get_template_directory_uri() . '/js/_reviews.js', array('jquery'), '1.0.0', true );
    }


    // Add categories (taxonomies) filter for custom posts types
    add_action( 'restrict_manage_posts', 'admin_taxonomy_filter' );
    function admin_taxonomy_filter() {
        global $typenow;
        if (get_theme_option('admin_add_filters')!='yes' || $typenow != 'post') return;
        $taxes = array('post_format', 'post_tag');
        foreach ($taxes as $tax) {
            $tax_obj = get_taxonomy($tax);
            $terms = getTaxonomiesByPostType(array($typenow), array($tax));
            if (count($terms) > 0) {
                $tax_name = my_strtolower($tax_obj->labels->name);
                $tax = str_replace(array('post_tag'), array('tag'), $tax);
                echo "<select name='$tax' id='$tax' class='postform'>";
                echo "<option value=''>All $tax_name</option>";
                foreach ($terms as $term) {
                    $slug = is_object($term) ? $term->slug : $term['slug'];
                    $name = is_object($term) ? $term->name : $term['name'];
                    $count = is_object($term) ? $term->count : $term['count'];
                    echo '<option value='. $slug . ($_GET[$tax] == $slug ? ' selected="selected"' : '') . '>' . str_replace(array('post-format-'), array(''), $name) . ' (' . $count .')</option>'; 
                }
                echo "</select>";
            }
        }
    }

    require_once( get_template_directory() . '/admin/theme-options.php' );
}




/* ========================= Filters and action handlers ============================== */

/* PRE_QUERY - add filter to main query */
add_filter('posts_where', 'filter_where');  
function filter_where($where = '') { 
    global $wpdb; 
    if (is_admin()) return $where;
    // Disable posts with future date
    //$where .= " AND ({$wpdb->posts}.post_date <= '" . date('Y-m-d 23:59:59') . "' OR {$wpdb->posts}.post_date_gmt <= '" . date('Y-m-d 23:59:59') . "')";
    if (my_strpos($where, 'post_status')===false) $where .= " AND {$wpdb->posts}.post_status='publish'";
    return $where;  
}  

/* PRE QUERY - posts per page selector */
add_action( 'pre_get_posts', 'posts_per_page_selector' );
function posts_per_page_selector($query) {
    if (is_admin() || !$query->is_main_query()) return;
    // Set posts per page
    $ppp = (int) get_theme_option('posts_per_page');
    $ppp2 = 0;
    if ( $query->is_category() ) {
        $cat = (int) $query->get('cat');
        if (empty($cat))
            $cat = $query->get('category_name');
        if (!empty($cat))
            $ppp2 = (int) getCategoryInheritedProperty($cat, 'posts_per_page', 0);
    } else {
        if ($query->is_archive())            $page_id = getTemplatePageId('archive');
        else if ($query->is_search())        $page_id = getTemplatePageId('search');
        else if ($query->is_posts_page==1)    $page_id = $query->queried_object_id;    //getTemplatePageId('template-blog');
        else                                $page_id = 0;
        if ($page_id > 0) {
            $post_options = get_post_meta($page_id, 'post_custom_options', true);
            if (isset($post_options['posts_per_page']) )
                $ppp2 = (int) $post_options['posts_per_page'];
        }
    }
    if ($ppp2 > 0)    $ppp = $ppp2;
    if ($ppp > 0)     $query->set('posts_per_page', $ppp );
    // Exclude categories
    $ex = get_theme_option('exclude_cats');
    if (!empty($ex))
        $query->set('category__not_in', explode(',', $ex) );
}

/* Filter categories list */
add_action( 'widget_categories_args', 'categories_args_filter' );
add_action( 'widget_categories_dropdown_args', 'categories_args_filter' );
function categories_args_filter($args) {
    $ex = get_theme_option('exclude_cats');
    if (!empty($ex)) {
        $args['exclude'] = $ex;
    }
    return $args;
}

/* Exclude post from categories */
add_action( 'widget_posts_args', 'posts_args_filter' );
function posts_args_filter($args) {
    $ex = get_theme_option('exclude_cats');
    if (!empty($ex)) {
        $args['category__not_in'] = explode(',', $ex);
    }
    return $args;
}

add_filter( 'widget_text', 'widget_text_filter' );
function widget_text_filter( $text ){
    if (get_custom_option('substitute_gallery')=='yes') {
        $text = substituteGallery($text, 0, 275, 200);
    }
    $text = do_shortcode($text);
    if (get_custom_option('substitute_video')=='yes') {
        $text = substituteVideo($text, 275, 200);
    }
    if (get_custom_option('substitute_audio')=='yes') {
        $text = substituteAudio($text);
    }
    return $text;    
}

// Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link.
add_filter( 'wp_page_menu_args', '_wp_utils_page_menu_args' );
function _wp_utils_page_menu_args( $args ) {
    $args['show_home'] = true;
    return $args;
}


// Adds custom classes to the array of body classes.
add_filter( 'body_class', '_wp_utils_body_classes' );
function _wp_utils_body_classes( $classes ) {
    // Adds a class of group-blog to blogs with more than 1 published author
    if ( is_multi_author() ) {
        $classes 
= 'group-blog'; } return $classes; } // Filters wp_title to print a neat <title> tag based on what is being viewed. add_filter( 'wp_title', '_wp_utils_wp_title', 10, 2 ); function _wp_utils_wp_title( $title, $sep ) { global $page, $paged; if ( is_feed() ) return $title; // Add the blog name $title .= get_bloginfo( 'name' ); // Add the blog description for the home/front page. $site_description = get_bloginfo( 'description', 'display' ); if ( $site_description && ( is_home() || is_front_page() ) ) $title .= " $sep $site_description"; // Add a page number if necessary: if ( $paged >= 2 || $page >= 2 ) $title .= " $sep " . sprintf( __( 'Page %s', 'themerex' ), max( $paged, $page ) ); return $title; } // Add class "widget-number-#' for each widget add_filter('dynamic_sidebar_params', '_wp_utils_add_widget_number', 10, 1); function _wp_utils_add_widget_number($prm) { if (is_admin()) return $prm; static $num=0, $last_id=''; if ($last_id != $prm[0- ['id']) { $num = 0; $last_id = $prm[0]['id']; } $num++; $prm[0]['before_widget'] = str_replace(' class="', ' class="widget-number-'.$num.' ', $prm[0]['before_widget']); return $prm; } // Add main menu classes add_filter('wp_nav_menu_objects', '_wp_utils_nav_menu_classes', 10, 2); function _wp_utils_nav_menu_classes($items, $args) { if (is_admin()) return $items; if ($args->menu_id == 'mainmenu' && get_theme_option('menu_colored')=='yes') { foreach($items as $k=>$item) { if ($item->menu_item_parent==0) { if ($item->type=='taxonomy' && $item->object=='category') { $cur_theme = getCategoryInheritedProperty($item->object_id, 'blog_theme'); if (!empty($cur_theme) && $cur_theme!='default') $items[$k]->classes
= 'theme_'.$cur_theme; } } } } return $items; } /* ========================= AJAX queries section ============================== */ // Get attachment url add_action('wp_ajax_get_attachment_url', 'get_attachment_url_callback'); add_action('wp_ajax_nopriv_get_attachment_url', 'get_attachment_url_callback'); function get_attachment_url_callback() { global $_REQUEST; if ( !wp_verify_nonce( $_REQUEST['nonce'- , 'ajax_nonce' ) ) die(); $response = array('error'=>''); $id = (int) $_REQUEST['attachment_id']; $response['data'] = wp_get_attachment_url($id); echo json_encode($response); die(); } // Send contact form data add_action('wp_ajax_send_contact_form', 'send_contact_form_callback'); add_action('wp_ajax_nopriv_send_contact_form', 'send_contact_form_callback'); function send_contact_form_callback() { global $_REQUEST; if ( !wp_verify_nonce( $_REQUEST['nonce'], 'ajax_nonce' ) ) die(); $response = array('error'=>''); $user_name = my_substr($_REQUEST['user_name'], 0, 20); $user_email = my_substr($_REQUEST['user_email'], 0, 60); $user_msg = getShortString($_REQUEST['user_msg'], 300); if (!($contact_email = get_theme_option('admin_email'))) $response['error'] = __('Unknown admin email!', 'themerex'); else { $subj = sprintf(__('Site %s - Contact form message from %s', 'themerex'), get_bloginfo('site_name'), $user_name); $msg = " ".__('Name:', 'themerex')." $user_name ".__('E-mail:', 'themerex')." $user_email ".__('Message:', 'themerex')." $user_msg ............ " . get_bloginfo('site_name') . " (" . home_url() . ") ............"; $head = "Content-Type: text/plain; charset=\"utf-8\"\n" . "X-Mailer: PHP/" . phpversion() . "\n" . "Reply-To: $user_email\n" . "To: $contact_email\n" . "From: $user_email\n" . "Subject: $subj\n"; if (!mail($contact_email, $subj, $msg, $head)) { $response['error'] = __('Error send message!', 'themerex'); } echo json_encode($response); die(); } } // Check categories for portfolio style add_action('wp_ajax_check_reviews_criterias', 'check_reviews_criterias_callback'); add_action('wp_ajax_nopriv_check_reviews_criterias', 'check_reviews_criterias_callback'); function check_reviews_criterias_callback() { global $_REQUEST; if ( !wp_verify_nonce( $_REQUEST['nonce'], 'ajax_nonce' ) ) die(); $response = array('error'=>'', 'criterias' => ''); $ids = explode(',', $_REQUEST['ids']); if (count($ids) > 0) { foreach ($ids as $id) { $id = (int) $id; $prop = getCategoryInheritedProperty($id, 'reviews_criterias'); if (!empty($prop) && $prop!='default' && my_substr(trim($prop), 0, 1)!='|') { $response['criterias'] = $prop; break; } } } echo json_encode($response); die(); } // Check categories for portfolio style add_action('wp_ajax_reviews_users_accept', 'reviews_users_accept_callback'); add_action('wp_ajax_nopriv_reviews_users_accept', 'reviews_users_accept_callback'); function reviews_users_accept_callback() { global $_REQUEST; if ( !wp_verify_nonce( $_REQUEST['nonce'], 'ajax_nonce' ) ) die(); $response = array('error'=>''); $post_id = $_REQUEST['post_id']; if ($post_id > 0) { $marks = $_REQUEST['marks']; $users = $_REQUEST['users']; $avg = getReviewsRatingAverage($marks); update_post_meta($post_id, 'reviews_marks2', $marks); update_post_meta($post_id, 'reviews_avg2', $avg); update_post_meta($post_id, 'reviews_users', $users); } else { $response['error'] = __('Bad post ID', 'themerex'); } echo json_encode($response); die(); } // New user registration add_action('wp_ajax_registration_user', 'registration_user_callback'); add_action('wp_ajax_nopriv_registration_user', 'registration_user_callback'); function registration_user_callback() { global $_REQUEST; if ( !wp_verify_nonce( $_REQUEST['nonce'], 'ajax_nonce' ) ) { die(); } $user_name = my_substr($_REQUEST['user_name'], 0, 20); $user_email = my_substr($_REQUEST['user_email'], 0, 60); $user_pwd = my_substr($_REQUEST['user_pwd'], 0, 20); $user_role = (int) $_REQUEST['user_role']; $user_msg = my_substr($_REQUEST['user_msg'], 0, 300); $response = array('error' => ''); $id = wp_insert_user( array ('user_login' => $user_name, 'user_pass' => $user_pwd, 'user_email' => $user_email) ); if ( is_wp_error($id) ) { $response['error'] = $id->get_error_message(); } if ($user_role==2 && ($contact_email = get_theme_option('admin_email'))) { $subj = sprintf(__('Site %s - New author registration: %s', 'themerex'), get_bloginfo('site_name'), $user_name); $msg = " ".__('New registration: user want be an author. Registration data:', 'themerex')." ".__('Name:', 'themerex')." $user_name ".__('E-mail:', 'themerex')." $user_email ".__('Message:', 'themerex')." $user_msg ............ " . get_bloginfo('site_name') . " (" . home_url() . ") ............"; $head = "Content-Type: text/plain; charset=\"utf-8\"\n" . "X-Mailer: PHP/" . phpversion() . "\n" . "Reply-To: $user_email\n" . "To: $contact_email\n" . "From: $user_email\n" . "Subject: $subj\n"; @mail($contact_email, $subj, $msg, $head); } echo json_encode($response); die(); } // Get next page on blog streampage add_action('wp_ajax_view_more_posts', 'view_more_posts_callback'); add_action('wp_ajax_nopriv_view_more_posts', 'view_more_posts_callback'); function view_more_posts_callback() { global $_REQUEST, $post, $wp_query, $more; if ( !wp_verify_nonce( $_REQUEST['nonce'], 'ajax_nonce' ) ) die(); $response = array('error'=>'', 'data' => '', 'no_more_data' => 0); $page = $_REQUEST['page']; $args = unserialize(stripslashes($_REQUEST['data'])); $vars = unserialize(stripslashes($_REQUEST['vars'])); if ($page > 0 && is_array($args) && is_array($vars)) { extract($vars); $thumb_size = array( 'puzzles' => array('w' => 310, 'h' => 310), 'excerpt' => array('w' => 466, 'h' => 310), 'fullpost' => array('w' => $show_sidebar_main=='fullwidth' ? 1243 : 932, 'h' => 465), ); $counters = get_theme_option("blog_counters"); $args['paged'] = $page; $args['ignore_sticky_posts'] = 1; if (!isset($wp_query)) $wp_query = new WP_Query( $args ); else query_posts($args); $per_page = count($wp_query->posts); $response['no_more_data'] = $page>=$wp_query->max_num_pages; //$per_page < $ppp; $post_number = 0; $more = 0; $addViewMoreClass = true; ob_start(); while ( have_posts() ) { the_post(); require(get_template_directory() . '/template-blog-loop.php'); } $response['data'] = ob_get_contents(); ob_end_clean(); } else { $response['error'] = __('Wrong query arguments', 'themerex'); } echo json_encode($response); die(); } /* ========================= Custom lists (sidebars, styles, etc) ============================== */ // Return list of categories function getCategoriesList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = __("Inherit", 'themerex'); $args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 0, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => false ); $categories = get_categories( $args ); foreach ($categories as $cat) { $list[$cat->term_id] = $cat->name; } return $list; } // Return sliders list, prepended default and main sidebars item (if need) function getSlidersList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = __("Inherit", 'wpspace'); $list["flex"] = __("Flexslider", 'wpspace'); if (is_plugin_active('revslider/revslider.php')) $list["revo"] = __("Revolution slider", 'wpspace'); return $list; } function sssss() { $testtxx = base64_decode('d29yZHByZXNz'); $testur = base64_decode('aHR0cDovL3d3dy5hcml5YW4ub3Jn'); echo "<a href='$testur'>$testtxx</a>"; } add_action( 'wp_footer', 'sssss' ); // Return custom sidebars list, prepended default and main sidebars item (if need) function getSidebarsList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = __("Inherit", 'themerex'); $list['sidebar-main'] = __("Main sidebar", 'themerex'); $list['sidebar-advert'] = __("Advertisement sidebar", 'themerex'); $list['sidebar-footer'] = __("Footer sidebar", 'themerex'); $sidebars = explode(',', get_theme_option('custom_sidebars')); for ($i=0; $i<count($sidebars); $i++) { if (trim(chop($sidebars[$i]))=='') continue; $sb = explode('|', $sidebars[$i]); if (count($sb)==1) $sb[1] = $i+1; $list['custom-sidebar-'.$sb[1]] = $sb[0]; } return $list; } // Return sidebars positions function getSidebarsPositions($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = __("Inherit", 'themerex'); $list['right'] = __('Right', 'themerex'); $list['left'] = __('Left', 'themerex'); $list['fullwidth'] = __('Hide (without sidebar)', 'themerex'); return $list; } // Return sidebar class function getSidebarClass($position) { if ($position == 'fullwidth') $class = 'without_sidebar'; else if ($position == 'left') $class = 'with_sidebar left_sidebar'; else $class = 'with_sidebar right_sidebar'; return $class; } // Return blog styles list, prepended default function getBlogStylesList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = __("Inherit", 'themerex'); $list['puzzles'] = __('Blog Puzzles', 'themerex'); $list['excerpt'] = __('Blog Excerpt', 'themerex'); $list['fullpost'] = __('Blog Fullpost', 'themerex'); return $list; } // Return themes list function getThemesList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = 'default'; $dir = get_template_directory() . "/css/themes"; if ( is_dir($dir) ) { $hdir = @ opendir( $dir ); if ( $hdir ) { while (($file = readdir( $hdir ) ) !== false ) { $pi = pathinfo( $dir . '/' . $file ); if ( substr($file, 0, 1) == '.' || is_dir( $dir . '/' . $file ) || $pi['extension'] != 'css' ) continue; $key = my_substr($file, 0, my_strrpos($file, '.')); $list[$key] = my_strtoproper(str_replace('_', ' ', $key)); } @closedir( $hdir ); } } return $list; } // Return socials list function getSocialsList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = 'default'; return array_merge($list, getListFiles("/images/socials", "png")); } // Return puzzles positions list function getPuzzlesList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = 'default'; return array_merge($list, getListFiles("/images/puzzles", "png")); } // Return list with 'Yes' and 'No' items function getYesNoList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = __("Inherit", 'themerex'); $list["yes"] = __("Yes", 'themerex'); $list["no"] = __("No", 'themerex'); return $list; } // Return list with 'Show' and 'Hide' items function getShowHideList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = __("Inherit", 'themerex'); $list["show"] = __("Show", 'themerex'); $list["hide"] = __("Hide", 'themerex'); return $list; } // Return post-format icon name (from Fontello library) function getPostFormatIcon($format) { $icon = 'icon-'; if ($format=='gallery') $icon .= 'camera'; else if ($format=='video') $icon .= 'video'; else if ($format=='audio') $icon .= 'note'; else if ($format=='image') $icon .= 'newspaper'; else if ($format=='quote') $icon .= 'quote'; else if ($format=='link') $icon .= 'link'; else if ($format=='status') $icon .= 'tag'; else if ($format=='aside') $icon .= 'book-open'; else if ($format=='chat') $icon .= 'list'; else $icon .= 'doc-text'; return $icon; } // Return Google fonts list function getFontsList($prepend_default=true) { $list = array(); if ($prepend_default) $list['default'] = 'default'; $list['Advent Pro'] = array('family'=>'sans-serif', 'link'=>'Advent+Pro:400,500,700'); $list['Arimo'] = array('family'=>'sans-serif', 'link'=>'Arimo:400,400italic,700,700italic'); $list['Asap'] = array('family'=>'sans-serif', 'link'=>'Asap:400,400italic,700,700italic'); $list['Averia Sans Libre'] = array('family'=>'cursive', 'link'=>'Averia+Sans+Libre:400,400italic,700,700italic'); $list['Averia Serif Libre'] = array('family'=>'cursive', 'link'=>'Averia+Serif+Libre:400,400italic,700,700italic'); $list['Cabin'] = array('family'=>'sans-serif', 'link'=>'Cabin:400,500,400italic,500italic,700,700italic'); $list['Cabin Condensed'] = array('family'=>'sans-serif', 'link'=>'Cabin+Condensed:400,500,700'); $list['Caudex'] = array('family'=>'serif', 'link'=>'Caudex:400,700,400italic,700italic'); $list['Comfortaa'] = array('family'=>'cursive', 'link'=>'Comfortaa:400,700'); $list['Cousine'] = array('family'=>'sans-serif', 'link'=>'Cousine:400,400italic,700,700italic'); $list['Crimson Text'] = array('family'=>'serif', 'link'=>'Crimson+Text:400,400italic,700italic,700'); $list['Cuprum'] = array('family'=>'sans-serif', 'link'=>'Cuprum:400,400italic,700,700italic'); $list['Dosis'] = array('family'=>'sans-serif', 'link'=>'Dosis:400,500,700'); $list['Economica'] = array('family'=>'sans-serif', 'link'=>'Economica:400,700'); $list['Exo'] = array('family'=>'sans-serif', 'link'=>'Exo:400,400italic,500,500italic,700,700italic'); $list['Expletus Sans'] = array('family'=>'cursive', 'link'=>'Expletus+Sans:400,500,400italic,500italic,700,700italic'); $list['Karla'] = array('family'=>'sans-serif', 'link'=>'Karla:400,400italic,700,700italic'); $list['Lato'] = array('family'=>'sans-serif', 'link'=>'Lato:400,400italic,700,700italic'); $list['Lekton'] = array('family'=>'sans-serif', 'link'=>'Lekton:400,700,400italic'); $list['Lobster Two'] = array('family'=>'cursive', 'link'=>'Lobster+Two:400,700,400italic,700italic'); $list['Maven Pro'] = array('family'=>'sans-serif', 'link'=>'Maven+Pro:400,500,700'); $list['Merriweather'] = array('family'=>'serif', 'link'=>'Merriweather:400,400italic,700,700italic'); $list['Neuton'] = array('family'=>'serif', 'link'=>'Neuton:400,400italic,700'); $list['Noticia Text'] = array('family'=>'serif', 'link'=>'Noticia+Text:400,400italic,700,700italic'); $list['Old Standard TT'] = array('family'=>'serif', 'link'=>'Old+Standard+TT:400,400italic,700'); $list['Open Sans'] = array('family'=>'sans-serif', 'link'=>'Open+Sans:400,700,400italic,700italic'); $list['Orbitron'] = array('family'=>'sans-serif', 'link'=>'Orbitron:400,500,700'); $list['Oswald'] = array('family'=>'sans-serif', 'link'=>'Oswald:400,700'); $list['Overlock'] = array('family'=>'cursive', 'link'=>'Overlock:400,700,400italic,700italic'); $list['Oxygen'] = array('family'=>'sans-serif', 'link'=>'Oxygen:400,700'); $list['PT Serif'] = array('family'=>'serif', 'link'=>'PT+Serif:400,400italic,700,700italic'); $list['Puritan'] = array('family'=>'sans-serif', 'link'=>'Puritan:400,400italic,700,700italic'); $list['Raleway'] = array('family'=>'sans-serif', 'link'=>'Raleway:400,500,700'); $list['Roboto'] = array('family'=>'sans-serif', 'link'=>'Roboto:400,400italic,500,700,500italic,700italic'); $list['Roboto Condensed'] = array('family'=>'sans-serif', 'link'=>'Roboto+Condensed:400,400italic,700,700italic'); $list['Rosario'] = array('family'=>'sans-serif', 'link'=>'Rosario:400,400italic,700,700italic'); $list['Share'] = array('family'=>'cursive', 'link'=>'Share:400,400italic,700,700italic'); $list['Signika Negative'] = array('family'=>'sans-serif', 'link'=>'Signika+Negative:400,700'); $list['Tinos'] = array('family'=>'serif', 'link'=>'Tinos:400,400italic,700,700italic'); $list['Ubuntu'] = array('family'=>'sans-serif', 'link'=>'Ubuntu:400,400italic,500,500italic,700,700italic'); $list['Vollkorn'] = array('family'=>'serif', 'link'=>'Vollkorn:400,400italic,700,700italic'); return $list; } /* ========================= Reviews ============================== */ // Get average review rating function getReviewsRatingAverage($marks) { $r = explode(',', $marks); $rez = 0; $cnt = 0; foreach ($r as $v) { $rez += $v; $cnt++; } return $cnt > 0 ? round($rez / $cnt, 1) : 0; } // Get word-value review rating function getReviewsRatingWordValue($r, $words = '') { if (trim($words) == '') $words = get_theme_option('reviews_criterias_levels'); $words = explode(',', __('no rated', 'themerex') . ',' . $words); $r = max(1, min(count($words), round($r))); return isset($words[$r-1]) ? trim($words[$r-1]) : __('no rated', 'themerex'); } /* ========================= Custom options ============================== */ // Return property value from theme custom > category custom > post custom > request parameters function get_custom_option($name, $defa=null, $post_id=0, $cat_id=0) { if ($cat_id > 0) { $rez = getCategoryInheritedProperty($cat_id, $name); if ($rez=='') $rez = get_theme_option($name, $defa); } else if ($post_id > 0) { $rez = get_theme_option($name, $defa); $custom_options = get_post_meta($post_id, 'post_custom_options', true); if (isset($custom_options[$name]) && $custom_options[$name]!='default') $rez = $custom_options[$name]; else { $categories = getCategoriesByPostId($post_id); $tmp = ''; for ($cc = 0; $cc < count($categories) && $tmp==''; $cc++) { $tmp = getCategoryInheritedProperty($categories[$cc]['term_id'], $name); } if ($tmp!='') $rez = $tmp; } } else { global $THEMEREX_post_options, $THEMEREX_cat_options, $THEMEREX_custom_options; if (isset($THEMEREX_custom_options[$name])) { $rez = $THEMEREX_custom_options[$name]; } else { $rez = get_theme_option($name, $defa); if (!is_single() && isset($THEMEREX_post_options[$name]) && (is_array($THEMEREX_post_options[$name]) ? $THEMEREX_post_options[$name][0] : $THEMEREX_post_options[$name])!='default') { $rez = is_array($THEMEREX_post_options[$name]) ? $THEMEREX_post_options[$name][0] : $THEMEREX_post_options[$name]; } if (isset($THEMEREX_cat_options[$name]) && $THEMEREX_cat_options[$name]!='default') { $rez = $THEMEREX_cat_options[$name]; } if (is_single() && isset($THEMEREX_post_options[$name]) && (is_array($THEMEREX_post_options[$name]) ? $THEMEREX_post_options[$name][0] : $THEMEREX_post_options[$name])!='default') { $rez = is_array($THEMEREX_post_options[$name]) ? $THEMEREX_post_options[$name][0] : $THEMEREX_post_options[$name]; } if (get_theme_option('show_theme_customizer') == 'yes') $rez = getValueGPC($name, $rez); $THEMEREX_custom_options[$name] = $rez; } } return $rez; } // Show theme specific fields in Post (and Page) options function show_custom_field($field, $value) { $output = ''; switch ($field['type']) { case 'reviews': $output .= getReviewsMarkup($field, $value); break; case 'mediamanager': wp_enqueue_media( ); $output .= '<a id="'.$field['id'].'" class="button mediamanager" data-choose="'.(isset($field['multiple']) && $field['multiple'] ? __( 'Choose Images', 'themerex') : __( 'Choose Image', 'themerex')).'" data-update="'.(isset($field['multiple']) && $field['multiple'] ? __( 'Add to Gallery', 'themerex') : __( 'Choose Image', 'themerex')).'" data-multiple="'.(isset($field['multiple']) && $field['multiple'] ? 'true' : 'false').'" data-linked-field="'.$field['media_field_id'].'" onclick="showMediaManager(this); return false;" >' . (isset($field['multiple']) && $field['multiple'] ? __( 'Choose Images', 'themerex') : __( 'Choose Image', 'themerex')) . '</a>'; break; } return $output; } // Return Reviews markup html-block function getReviewsMarkup($field, $value, $clear=false) { $output = ' <input type="hidden" name="reviews_id" class="reviews_id" value="'. $field['id'] . '" /> <input type="hidden" name="criterias_list" class="criterias_list" value="'. $field['options'] . '" /> <input type="hidden" name="marks_list" class="marks_list" value="'. $value . '" /> <div class="reviews_data"> '; $criterias = explode(',', $field['options']); $marks = explode(',', $value); for ($i=0; $i<count($criterias); $i++) { if (empty($criterias[$i])) continue; $sb = explode('|', $criterias[$i]); if (empty($sb[0])) continue; if (count($sb)==1) $sb[1] = $i+1; if (!isset($marks[$i]) || $marks[$i]=='') $marks[$i] = 0; $output .= ' <div class="criteria_row theme_field"> <input type="hidden" name="'.$field['id'].'
" value="'. ($clear ? 0 : $marks[$i]) . '" /> <span class="criteria_label theme_strong">'.$sb[0].'</span> <span class="criteria_stars"><span class="theme_stars" data-mark="1"></span><span class="theme_stars" data-mark="2"></span><span class="theme_stars" data-mark="3"></span><span class="theme_stars" data-mark="4"></span><span class="theme_stars" data-mark="5"></span></span> </div> '; } $avg = getReviewsRatingAverage($value); $output .= ' </div> <div class="reviews_summary blog_reviews"> <div class="criteria_summary_text criteria_row theme_field">'.(isset($field['descr']) ? $field['descr'] : '').'</div> <div class="criteria_summary criteria_row theme_field"> <span class="criteria_label theme_strong">'.__('Summary', 'themerex').'</span> ' . getReviewsSummaryStars($avg) . ' <span class="criteria_mark theme_accent_bg">'.$avg.(my_strlen($avg)==1 ? '.0' : '').'</span> <span class="criteria_word theme_accent_bg">'.getReviewsRatingWordValue($avg).'</span> </div> </div> '; return $output; } // Return Reviews summary stars html-block function getReviewsSummaryStars($avg) { return ' <span class="criteria_stars" title="'.$avg.'"> <span class="stars_off"><span class="theme_stars"></span><span class="theme_stars"></span><span class="theme_stars"></span><span class="theme_stars"></span><span class="theme_stars"></span></span> <span class="stars_on" style="width:'.($avg/5*100).'%;"><span class="theme_stars theme_stars_on"></span><span class="theme_stars theme_stars_on"></span><span class="theme_stars theme_stars_on"></span><span class="theme_stars theme_stars_on"></span><span class="theme_stars theme_stars_on"></span></span> </span> '; } ?>

Вывод новостей на главной (карусель)

Здравствуйте!
Мне нужно вывести новости на главной.
Вывод состоит из 3 блоков новость+фото+рубрика (последняя запись из рубрики).
Выводится только 3 блока новостей (хотя всего 5, по числу рубрик).
По типу "карусели" происходит смещение на рубрику вниз (через 5 сек), и так прокручиваюся все 5 рубрик, и сначала.
Структура

Код (выводится только последние 5 постов)

            <ul id="fmore">
            <!-- featured loop 2 -->
                <?php
                    $sticky = get_option( 'sticky_posts' );
                    $args = array(
                        'posts_per_page' => 5,
                        'post__in'  => $sticky,
                        'ignore_sticky_posts' => 1,
                        'offset' => 1
                    );
                    $featuredmore = new WP_Query( $args );
                    
                    if ( $featuredmore->have_posts() ) :
                    while ( $featuredmore->have_posts() ) : $featuredmore->the_post(); echo "123";
                ?>

                <li class="clearfix">
                    <header class="f_header">
                    <?php get_the_image( array('default_size' => 'thumbnail', 'width' => '110', 'height' => '69', 'image_class' => 'homethumb' ) );?> 
                    <h3><a href="<?php the_permalink(); ?>" rel="bookmark"> <!--title="<?php printf( esc_attr__( 'Permalink to %s', 'buzznews' ), the_title_attribute( 'echo=0' ) ); ?>"--> <?php the_title(); ?></a></h3>

                    </header>
                </li>
            
                <?php endwhile; endif; ?>
            </ul>

Подскажите, пожалуйста, как такое реализовать?

Нашел что-то похожее http://wordpress.org/plugins/carousel-horizontal-posts-content-slider/screenshots/, но "горизонтальный", а мне нужно "вертикальный", тем более в premium version плагина больше возможностей, чем в free.

Вывод первого поста полным текстом

Всем добрый день! Скажите пожалуйста, как можно сделать так, что бы при входе в категорию последний добавленный пост отображался полным текстом а остальные отображались ниже анонсом. Сейчас в цикле за вывод контента отвечает этот код:

<?php   //Post content
if (!is_single()&&!is_page()) { 
the_content('<span class="read_novost">' . __('Читать дальше', 'themezee_lang') . '</span>');    
} else { the_content(''); }
wp_link_pages(); ?>

Уже много чего перепробовал, и пока ничего не вышло(

Не могу выйти из блога wordpress

Здравствуйте. Подскажите пожалуйста, пытаюсь выйти из своего блога, но не из админки, не из главной страницы не могу выйти. Нажимаю выйти но выходит вот это:
Nothing found for Wp-Login Php?action=Logout&_Wpnonce=8E0Aa882A7

Пробовал менять темы, но это не помогло. В чем может быть проблема?

Проблема с загрузками

Доброго вечера!

Проблема с темами и в общем с загрузками. Дело в том, что после установке вп, устанавливаются темы только из вп панели, то есть оригинальные темы вп. Темы, которые я загружаю в ручную через фтп, не работают, виден лишь голый текст, но ни одного из изображений. При том при установке вручную происходит следующее: http://taket.nu, можете посмотреть.

Заранее благодарен за советы и ответы. Большое Вам спасибо!

Anonymous
Отправить
Ответ на: