Задать вопрос
  • Как сделать кликабельным onclick в php?

    @latipov_no_1 Автор вопроса
    Илья Ростопка, Так еще лучше! Спасибо! Работает.
  • Как сделать кликабельным onclick в php?

    @latipov_no_1 Автор вопроса
    Илья Ростопка, сделал для prodimg display block. Картинка не показывается. Хотя подгружается и доступна.
  • Как сделать кликабельным onclick в php?

    @latipov_no_1 Автор вопроса
    Morfeey, Так тоже пробывали, внутри дива еще два дива с картинкой категории и названием категории. Если все засунуть в тег a картинка пропадает, т.к она идет как фоновая картинка.
    <div class="prodimg" style="background-image: url('.wp_get_attachment_image_url ( $image_id, 'thumbnail' ).')"></div>
  • Как сделать кликабельным onclick в php?

    @latipov_no_1 Автор вопроса
    KorniloFF, пробывал так
    onclick="location.href=\'.get_category_link($term_taxonomy_id).\';"

    Выводит следующее:
    onclick="location.href='.get_category_link($term_taxonomy_id).';"
  • Как сделать кликабельным onclick в php?

    @latipov_no_1 Автор вопроса
    Тогда получается следующее:
    <div class="\&quot;col-md-4\&quot;" onclick="\&quot;location.href=\&quot;http://www.mysite.ru/category&quot;;\&quot;" style="\&quot;cursor:" pointer;\"="">
  • Как сделать кликабельным onclick в php?

    @latipov_no_1 Автор вопроса
    Илья Ростопка, тогда все слетает
    onclick="location.href=" http:="" www.mysite.ru="" category="" ;"=""
  • Как вывести картинки из поста?

    @latipov_no_1 Автор вопроса
    На сайте. CMS вордпресс.
  • Как реализовать два поиска на одной странице?

    @latipov_no_1 Автор вопроса
    Побывал раньше не работало, понял в чем дело.
    Создал произвольные поля по улице.
    Оказалось что стандартный поиск ворпдесса не берет данные произвольного поля.
    Спасибо.
  • Как сделать адаптивные треугольные кнопки?

    @latipov_no_1 Автор вопроса
    Ankhena W: Спасибо большое. У меня была имитация на адаптивность. Приятного Вам дня!
  • Как вывести одну картинку и вывести в слайдер slick?

    @latipov_no_1 Автор вопроса
    Alexander Pushkarev: К сожалению не знаю. Код взят отсюда. https://exabyte.ws/wordpress/kak-sozdat-fotogalere... Все что могу ответить.
  • Как вывести одну картинку и вывести в слайдер slick?

    @latipov_no_1 Автор вопроса
    Спасибо за ответ. К сожалению без плагина.
  • Как вывести пользовательского типа записи Wordpress?

    @latipov_no_1 Автор вопроса
    Спасибо за совет. Не помогает.
    Нашел новый код.

    Код страницы loop-testimonials.php
    <?php
    get_header(); ?>
    <div id="primary">
        <div id="content" role="main">
    		
        <?php
        $mypost = array( 'post_type' => 'testimonials', );
        $loop = new WP_Query( $mypost );
    	
        ?>
        <?php while ( $loop->have_posts() ) : $loop->the_post();?>
            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <header class="entry-header">
     
                    <!-- Display featured image in right-aligned floating div -->
                    <div style="float: right; margin: 10px">
                        <?php the_post_thumbnail( array( 100, 100 ) ); ?>
                    </div>
     
                    <!-- Display Title and Author Name -->
                    <strong>Тип объекта: </strong><?php echo $post->post_title.""; ?><br />
                    <strong>Количество комнат: </strong>
                    <?php echo esc_html( get_post_meta( get_the_ID(), 'movie_director', true ) ); ?>
                    <br />
     
                    <!-- Display yellow stars based on rating -->
                    <strong>Рейтинг: </strong>
                    <?php
                    $nb_stars = intval( get_post_meta( get_the_ID(), 'movie_rating', true ) );
                    for ( $star_counter = 1; $star_counter <= 5; $star_counter++ ) {
                        if ( $star_counter <= $nb_stars ) {
                            echo '<img src="' . plugins_url( 'Movie-Reviews/images/icon.png' ) . '" />';
                        } else {
                            echo '<img src="' . plugins_url( 'Movie-Reviews/images/grey.png' ). '" />';
                        }
                    }
    				
                    ?><br><br>
                </header>
    
            </article>
     
        <?php endwhile; ?>
        </div>
    </div>
    <?php wp_reset_query(); ?>
    <?php get_footer(); ?>


    d63cb887943b44ccad1b17d04a2c1fb5.jpg

    Код testimonials.php которая подключена в function.php
    <?php
    // Register Custom Post Type
    function custom_post_type_testimonials() {
    	$labels = array(
    		'name'                  => _x( 'Объекты', 'Post Type General Name', 'text_domain' ),
    		'singular_name'         => _x( 'Объект', 'Post Type Singular Name', 'text_domain' ),
    		'menu_name'             => __( 'Объекты', 'text_domain' ),
    		'name_admin_bar'        => __( 'Объекты', 'text_domain' ),
    		'archives'              => __( 'Item Archives', 'text_domain' ),
    		'parent_item_colon'     => __( 'Parent Item:', 'text_domain' ),
    		'all_items'             => __( 'All Items', 'text_domain' ),
    		'add_new_item'          => __( 'Add New Item', 'text_domain' ),
    		'add_new'               => __( 'Add New', 'text_domain' ),
    		'new_item'              => __( 'New Item', 'text_domain' ),
    		'edit_item'             => __( 'Edit Item', 'text_domain' ),
    		'update_item'           => __( 'Update Item', 'text_domain' ),
    		'view_item'             => __( 'View Item', 'text_domain' ),
    		'search_items'          => __( 'Search Item', 'text_domain' ),
    		'not_found'             => __( 'Not found', 'text_domain' ),
    		'not_found_in_trash'    => __( 'Not found in Trash', 'text_domain' ),
    		'featured_image'        => __( 'Featured Image', 'text_domain' ),
    		'set_featured_image'    => __( 'Set featured image', 'text_domain' ),
    		'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
    		'use_featured_image'    => __( 'Use as featured image', 'text_domain' ),
    		'insert_into_item'      => __( 'Insert into item', 'text_domain' ),
    		'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
    		'items_list'            => __( 'Items list', 'text_domain' ),
    		'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
    		'filter_items_list'     => __( 'Filter items list', 'text_domain' ),
    	);
    	
    	$args = array(
    		'label'                 => __( 'Testimonials', 'text_domain' ),
    		'labels'                => $labels,
    		'supports'              => array( 'title', 'editor', 'thumbnail', 'custom-fields' ),
    		'hierarchical'          => false,
    		'public'                => true,
    		'show_ui'               => true,
    		'show_in_menu'          => true,
    		'menu_position'         => 5,
    		'show_in_admin_bar'     => true,
    		'show_in_nav_menus'     => true,
    		'can_export'            => true,
    		'has_archive'           => true,
    		'exclude_from_search'   => false,
    		'publicly_queryable'    => true,
    		'capability_type'       => 'page',
    	);
    	
    	register_post_type( 'testimonials', $args );
    
    }
    add_action( 'init', 'custom_post_type_testimonials' );
    
    function testimonials_meta_box() {  
        add_meta_box(  
            'testimonials_meta_box', // Идентификатор(id)
            'Объекты недвижимости - дополнительная информация', // Заголовок области с мета-полями(title)
            'show_my_testimonials_metabox', // Вызов(callback)
            'testimonials', // Где будет отображаться наше поле, в нашем случае в разделе Красная Книга
            'normal',
            'high');
    		
    } 
    
    add_action('add_meta_boxes', 'testimonials_meta_box'); // Запускаем функцию
    
    $testimonials_meta_fields = array(
        array(  
            'label' => 'Тип объекта',  
            'desc'  => 'Выберите тип объекта',  
            'id'    => 'flatetype',  
            'type'  => 'select',  
            'options' => array (  // Параметры, всплывающие данные
                'one' => array (  
                    'label' => 'Квартира',  // Название поля
                    'value' => 'Квартира'  // Значение
                ),  
                'two' => array (  
                    'label' => 'Комната',  // Название поля
                    'value' => 'Комната'  // Значение
                ),  
                'three' => array (  
                    'label' => 'Дом',  // Название поля
                    'value' => 'Дом'  // Значение
                )
            )
        ),
        array(  
            'label' => 'Количество комнат',  
            'desc'  => 'Выберите количество комнат',  
            'id'    => 'roomsnumber',  
            'type'  => 'select',  
            'options' => array (  // Параметры, всплывающие данные
                'one' => array (  
                    'label' => '1 комната',  // Название поля
                    'value' => '1 комната'  // Значение
                ),  
                'two' => array (  
                    'label' => '2 комнаты',  // Название поля
                    'value' => '2 комнаты'  // Значение
                ),  
                'three' => array (  
                    'label' => '3 комнаты',  // Название поля
                    'value' => '3 комнаты'  // Значение
                ),
    			'four' => array (  
                    'label' => '4+ комнаты',  // Название поля
                    'value' => '4+ комнаты'  // Значение
                )
            )
        ),
        array(  
            'label' => 'Площадь, м2',  
            'desc'  => '',  
            'id'    => 'ploshad', // даем идентификатор.
            'type'  => 'text'  // Указываем тип поля.
        ),  
        array(  
            'label' => 'Цена в месяц, руб',  
            'desc'  => '',  
            'id'    => 'price',  // даем идентификатор.
            'type'  => 'text'  // Указываем тип поля.
        ),
    	array(  
            'label' => 'Этаж',  
            'desc'  => '',  
            'id'    => 'etage',  // даем идентификатор.
            'type'  => 'text'  // Указываем тип поля.
        ),
        	
    	array (
        'label' => 'Удобства',
        'desc'  => 'Выберите удобства объекта',
        'id'    => $prefix.'udobstva_group',
        'type'  => 'udobstva_group',
        'options' => array (
            'one' => array (
                'label' => 'Балкон',
                'value' => 'Балкон'
            ),
            'two' => array (
                'label' => 'Посудомоечная машина',
                'value' => 'Посудомоечная машина'
            ),
            'three' => array (
                'label' => 'Холодильник',
                'value' => 'Холодильник'
            ),
    		'four' => array (
                'label' => 'Стиральная машина',
                'value' => 'Стиральная машина'
            ),
    		'five' => array (
                'label' => 'Телевизор',
                'value' => 'Телевизор'
            ),
    		'six' => array (
                'label' => 'Кондиционер',
                'value' => 'Кондиционер'
            )
        )
    ),
    	array (
        'label' => 'Особенности',
        'desc'  => 'Выберите особенности объекта',
        'id'    => $prefix.'osobennosti_group',
        'type'  => 'osobennosti_group',
        'options' => array (
            'one' => array (
                'label' => 'Можно курить',
                'value' => 'Можно курить'
            ),
            'two' => array (
                'label' => 'Подходит для мероприятий',
                'value' => 'Подходит для мероприятий'
            ),
            'three' => array (
                'label' => 'Можно с животными',
                'value' => 'Можно с животными'
            ),
    		'four' => array (
                'label' => 'Подходит для семьи с детьми',
                'value' => 'Подходит для семьи с детьми'
            )
    		
        )
    ),
    array(
        'label' => 'Галерея',
        'desc'  => 'Загрузите нужные изображения',
        'id'    => 'multiupload',
        'type'  => 'multiupload'
        )
    );
    
    function show_my_testimonials_metabox() {  
    global $testimonials_meta_fields; // Обозначим наш массив с полями глобальным
    global $post;  // Глобальный $post для получения id создаваемого/редактируемого поста
    // Выводим скрытый input, для верификации. Безопасность прежде всего!
    echo '<input type="hidden" name="custom_meta_box_nonce" value="'.wp_create_nonce(basename(__FILE__)).'" />';  
     
        // Начинаем выводить таблицу с полями через цикл
        echo '<table class="form-table">';  
        foreach ($testimonials_meta_fields as $field) {  
            // Получаем значение если оно есть для этого поля
            $meta = get_post_meta($post->ID, $field['id'], true);  
            // Начинаем выводить таблицу
            echo '<tr>
                    <th><label for="'.$field['id'].'">'.$field['label'].'</label></th>
                    <td>';  
                    switch($field['type']) {  
                        // Текстовое поле
    					case 'text':  
    					    echo '<input type="text" name="'.$field['id'].'" id="'.$field['id'].'" value="'.$meta.'" size="30" />
    					        <br /><span class="description">'.$field['desc'].'</span>';  
    					break;
    					// Список
    					case 'select':  
    					    echo '<select name="'.$field['id'].'" id="'.$field['id'].'" id="'.$field['id'].'">';  
    					    foreach ($field['options'] as $option) {  
    					        echo '<option', $meta == $option['value'] ? ' selected="selected"' : '', ' value="'.$option['value'].'">'.$option['label'].'</option>';  
    					    }  
    					    echo '</select><br /><span class="description">'.$field['desc'].'</span>';  
    					break;
    					// Чекбоксы
    					// checkbox_group
    case 'udobstva_group':
        foreach ($field['options'] as $option) {
            echo '<input type="checkbox" value="'.$option['value'].'" name="'.$field['id'].'[]" id="'.$option['value'].'"',$meta && in_array($option['value'], $meta) ? ' checked="checked"' : '',' /> 
                    <label for="'.$option['value'].'">'.$option['label'].'</label><br />';
        }
        echo '<span class="description">'.$field['desc'].'</span>';
    break;
    
    case 'osobennosti_group':
        foreach ($field['options'] as $option) {
            echo '<input type="checkbox" value="'.$option['value'].'" name="'.$field['id'].'[]" id="'.$option['value'].'"',$meta && in_array($option['value'], $meta) ? ' checked="checked"' : '',' /> 
                    <label for="'.$option['value'].'">'.$option['label'].'</label><br />';
        }
        echo '<span class="description">'.$field['desc'].'</span>';
    break;
    case 'multiupload':
                            echo '<a class="repeatable-add button" href="#">Добавить поле</a>
                                    <ul id="'.$field['id'].'-repeatable" class="custom_repeatable">';
                            $i = 0;
                            if ($meta) {
                                foreach($meta as $row) {
                                    $image = wp_get_attachment_image_src($row, 'medium'); $image = $image[0];
                                    if(empty($row)) $row = "http://placehold.it/100x100";
                                    echo 
                                        '<li style="display: inline-block;margin-right: 20px;position:relative;">
                                            <img style="width:100px;" class="custom_preview_image sort hndle" src="'.$row.'" />
                                            <div style="position: absolute;top:0;">
                                            <input name="'.$field['id'].'['.$i.']" id="'.$field['id'].'" type="hidden" class="custom_upload_image" value="'.$row.'" />
                                            <a style="text-decoration: none;" title="Добавить изображение" class="custom_upload_file_button" href="#"><span class="dashicons dashicons-plus"></span></a>
                                            <a style="text-decoration: none;" title="Удалить изображение" class="repeatable-remove" href="#"><span class="dashicons dashicons-no-alt"></span></a>
                                            </div>
                                        </li>';
                                    $i++;
                                }
                            } else {
                                echo 
                                '<li style="display: inline-block;margin-right: 20px;position:relative;">
                                    <img style="width:100px;" src="http://placehold.it/100x100" class="custom_preview_image sort hndle" alt="" />
                                    <div style="position: absolute;top:0;">
                                    <span class="dashicons dashicons-menu"></span>
                                    <input name="'.$field['id'].'['.$i.']" id="'.$field['id'].'" type="hidden" class="custom_upload_image" value="" />
                                    <a style="text-decoration: none;" title="Добавить изображение" class="custom_upload_file_button" href="#"><span class="dashicons dashicons-plus"></span></a>
                                    <a style="text-decoration: none;" title="Удалить изображение" class="repeatable-remove" href="#"><span class="dashicons dashicons-no-alt"></span></a>
                                    </div>
                                </li>';
                            }
                            echo '</ul>
                                <span class="description">'.$field['desc'].'</span>';
                        break;
     
                    }
            echo '</td></tr>';  
        }  
        echo '</table>';
    }
    function save_my_testimonials_meta_fields($post_id) {  
        global $testimonials_meta_fields;  // Массив с нашими полями
     
        // проверяем наш проверочный код
        if (!wp_verify_nonce($_POST['custom_meta_box_nonce'], basename(__FILE__)))  
            return $post_id;  
        // Проверяем авто-сохранение
        if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE)  
            return $post_id;
        // Проверяем права доступа  
        if ('page' == $_POST['post_type']) {  
            if (!current_user_can('edit_page', $post_id))  
                return $post_id;  
            } elseif (!current_user_can('edit_post', $post_id)) {  
                return $post_id;  
        }  
     
        // Если все отлично, прогоняем массив через foreach
        foreach ($testimonials_meta_fields as $field) {  
            $old = get_post_meta($post_id, $field['id'], true); // Получаем старые данные (если они есть), для сверки
            $new = $_POST[$field['id']];  
            if ($new && $new != $old) {  // Если данные новые
                update_post_meta($post_id, $field['id'], $new); // Обновляем данные
            } elseif ('' == $new && $old) {  
                delete_post_meta($post_id, $field['id'], $old); // Если данных нету, удаляем мету.
            }
    			$image_meta_box = $_POST[$field['id']];
            if($field['type'] == 'multiupload')
                         $image_meta_box = array_values($image_meta_box);
            if ($image_meta_box && $image_meta_box != $old) {  // Если данные новые
                update_post_meta($post_id, $field['id'], $image_meta_box); // Обновляем данные
            } elseif ('' == $image_meta_box && $old) {  
                delete_post_meta($post_id, $field['id'], $old); // Если данных нету, удаляем мету.
            }
        } // end foreach
    	
    }  
    add_action('save_post', 'save_my_testimonials_meta_fields'); // Запускаем функцию сохранения
    
    ?><code lang="php">
  • Как настроить скрипт цели в Я.Метрики и Google Analitics?

    @latipov_no_1 Автор вопроса
    Счетчики установлены, иксы заменены на код счетчика, цель с идентификатором goal создал. Сам себе заявки отправляю. Посетители есть, просмотры тоже, цели 0.