n@y wega

Есть у кого идеи?..

В общем задача в "красоте". Суть:
Есть запись, которая принадлежит нескольким категориям и есть сайдбар в котором отображается список категорий с выпадающим списком постов, которые принадлежат конкретной категории.
Нужно сделать проверку через какую категорию была открыта запись и в сайдбаре показать выпадающий список категории с корой зашли.

Схематично:

У нас есть ЗАПИСЬ,
ЗАПИСЬ принадлежит категориям: Категория 1 и Категория 2.

Если юзер зашел по пути Категория 1 / Запись, то в правом садбаре должна быть картина:

  • Категория 1

— Запись

  • Категория 2

Если юзер зашел по пути Категория 2 / Запись, то в правом садбаре должна быть картина:

  • Категория 1
  • Категория 2

— Запись

Есть у кого хоть какие-то идеи как это можно реализовать?

ЧПУ с полным адресом. Как?

Привет всем.
Вот столкнулся с маленькой проблемкой. Суть:
Мне нужно в адресной строке отобразить примерно следующее: сайт/родительская_категория/дочерняя_категория/название_поста
Такая конструкция нужна только там, где есть родитель-дочка, в ином случае – только 1 категория.

Как отобразить сайт/родительская_категория/название_поста – зная, а как туда засунуть еще и дочернюю категорию – нужен совет.

Пост принадлежит обоим категориям (и родителю, и дочке).

Помогите, дельным советом..

Поиск + фильтр по таксономиию Нужна помощь

Может кто-то сталкивался с такой проблемой:
нужен поиск в обычных поста + фильтр по таксономии, которая прикручена к этим постам.

Вот код формы поиска:


<div class="search">
            <?php
            $args = array(
              'show_option_all'    => 'Часть тела',
              'echo'               => 0,
              'hide_empty'         => 0,
              'name'               => 'in_mesto',
              'class'              => 'select search-select select-part',
              'taxonomy'           => 'cat_mesto',
            );

              $dropdowncatsmesto = wp_dropdown_categories($args); 


            $argst = array(
              'show_option_all'    => 'Стиль',
              'echo'               => 0,
              'hide_empty'         => 0,
              'name'               => 'in_stil',
              'class'              => 'select search-select select-style',
              'taxonomy'           => 'cat_stil',
            );

              $dropdowncatsstil = wp_dropdown_categories($argst);

            ?>

              <form id="searchform" role="search" method="get" action="<?php echo home_url( '/' ); ?>" >

              <input name="s" id="s"  placeholder="Название" class="search-input" value="<?php echo get_search_query() ?>" >
              <div class="search_item">

                <?php echo $dropdowncatsmesto; ?>

              </div>
              <div class="search_item">

                <?php echo $dropdowncatsstil; ?>

              </div>
              <div class="search_item find"><input type="submit" name="submit" id="searchsubmit" class="submit search-button" value="Найти татуировку" /></div>
              <button class="search-button_mob"></button>
            </form>


          </div>

Прописал в файле functions.php где искать:


add_filter( 'posts_where', 'title_like_posts_where', 10, 2 );
function title_like_posts_where( $where, &$wp_query ) {
    global $wpdb;
    if ( $post_title_like = $wp_query->get( 'post_title_like' ) ) {
        $where .= ' AND ' . $wpdb->posts . '.post_title LIKE \'% ' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '\' 
        OR '. $wpdb->posts . '.post_title LIKE \'' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '%\' 
        OR '. $wpdb->posts . '.post_content LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '\'
        OR '. $wpdb->posts . '.post_content LIKE \'' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '%\' 
        OR '. $wpdb->posts . '.post_title LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '%\'
        OR '. $wpdb->posts . '.post_content LIKE \'%' . esc_sql( $wpdb->esc_like( $post_title_like ) ) . '%\' ' ;
    }
    return $where;
}

И на странице результатов поиска формирую цыкл:


if ( $_GET['s'] != '' && $_GET['in_mesto'] >= '1' && $_GET['in_stil'] >= '1' ) {
                        $args = array(  
                        'post_type' => 'post',
                        'paged' => get_query_var( 'paged' ),
                        'posts_per_page' => '-1',
                        'post_title_like' => $_GET['s'],
                            'tax_query' => array(
                                'relation'  => 'AND',
                                array(
                                    'taxonomy' => 'cat_mesto',
                                    'field' => 'term_id',
                                    'terms' => $_GET['in_mesto'],
                                ),
                                array(
                                    'taxonomy' => 'cat_stil',
                                    'field' => 'term_id',
                                    'terms' => $_GET['in_stil'],
                                )
                            )
                       );
                    }
                    



                    $filter = new WP_Query( $args );

Вот тут и вылазит моя головна боль. По слову ищет без проблем, но фильтрации по таксономии нету. Такое ощущение, что tax_query вовсе не отрабатывает.

Куда копать, что искать уже не пойму.
Подскажите, где и что искать то…

Отправка Json и обработка

Всем привет.
Мне нужно собрать массив и отправить его а обработку в другой файл.

С Json ранее никогда не работал – перечитал инфы и сообразил вот такой скрипт для сбора массива при отправке формы:


$('body').on('click','#price #send-order-form',function() {

        var arr_place = new Array();
        $(".sel_place.sel").each(function() {
        arr_place.push({"range":$(this).parent().parent().find('.cat_title').html(), "ticket":$(this).html()});
    });


    var data='arr_place='+JSON.stringify(arr_place);

      var url = $('#parce_form').attr('action');

        $.ajax({
                    type: 'POST',
                    url: url,
                    dataType: 'json',
                    cache: false,
            errrep:true,
                    data: data,
                    success: function(data) {
                        alert(data);
                    }
                });

});

На 2 файле (обработчике) принимаю так:


var_dump(json_decode($_POST['arr_place']));

Скрипт работает нормально – собирает данные. Но никак не могу передать их на другой файл (нужен переход на эту страницу для заполнения дополнительной формы). По этому аякс не нужен да и он почему то не отправляет инфу.

Подскажите, пожалуйста, куда копать, как передать этот массив и обработать его?
Буду рад всем подсказкам…

Добавление ID поста в его название

Здравствуйте, уважаемые знатоки
Возникла такая необходимость в название поста добавлять его ID.
Создание поста происходит из фротнедна посредством функции wp_insert_post

Вот код добавления:


 $new_post = array(
 'ID' => '',
 'post_author' => $user->ID,
 'post_type' => 'order-tickets',
 'post_title' => $post_title,
 'post_status' => 'publish'
 );

wp_insert_post($new_post);

Мне нужно сделать что-то на подобии этого: ‘post_title’ => ‘Order-‘$post->ID,
но, такой вариант не проходит.

Как такое можно реализовать, есть у кого-то какие то мысли на счет этого?

Добавление записи в свою таксономию не заходя в админку

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

Категории к своей таксономии прикрутил с помощью кода:

function add_cat_advertisement() {    
    register_taxonomy('cat_advertisement',
        array('advertisement'),
        array(
            'hierarchical' => false,
            'labels' => array(
                'name' => 'Категорії оголошення',
                'singular_name' => 'Категорії оголошення',
                'search_items' =>  'Знайти категорію',
                'popular_items' => 'Популярні категорії',
                'all_items' => 'Всі платформи',
                'parent_item' => null,
                'parent_item_colon' => null,
                'edit_item' => 'Редагувати категорію', 
                'update_item' => 'Оновити категорію',
                'add_new_item' => 'Додати нову категорію',
                'new_item_name' => 'Назва нової категорії',
                'separate_items_with_commas' => 'Розділяйте категорії комами',
                'add_or_remove_items' => 'Додати або видалити категорію',
                'choose_from_most_used' => 'Вибрати з найбільш часто використовуваних категорій',
                'menu_name' => 'Категорії оголошення'
            ),
            'public' => true, 
            'show_in_nav_menus' => true,
            'show_ui' => true,
            'show_tagcloud' => true,
            'update_count_callback' => '_update_post_term_count',
            'query_var' => true,
            'rewrite' => array(
                'slug' => 'cat_adver',
                'hierarchical' => true
 
            ),
        )
    );
}
add_action( 'init', 'add_cat_advertisement', 0 );

Создал форму для добавления поста:

<form action="<?php bloginfo('template_url'); ?>/add.php" method="post">
<label for="title">Заголовок: </label><input size="80" type="text" name="title" /><br />
<label>Текст: </label>
<?php
$settings = array(
'textarea_name' => 'description',
'textarea_rows' => 5,
'quicktags' => false,
'media_buttons' => false,
'dfw' => true,
'tinymce' => array(
'toolbar1'=> 'bold,italic,underline,bullist,numlist,undo,redo'
)
);
wp_editor($contentFromPage, 'editpost', $settings);
?>

<br>
Оберіть категорію: 
<?php
$args = array(
    'show_count'         => 1,
    'hide_empty'         => 0,
    'exclude'            => '',
    'selected'           => 0,
    'hierarchical'       => 1,
    'name'               => 'cat',
    'class'              => 'postform',
    'taxonomy'           => 'cat_advertisement'
); 

 wp_dropdown_categories($args); ?>

<label class="lbl" for="name_author">Ім`я Автора оголошення:</label><br>
        <input class="input-custom-field" name="name_author" id="name_author" placeholder="Ім`я Автора" value="<?php echo get_post_meta( $post->ID, 'name_author',true); ?>">

        <label class="lbl" for="tel_advert">Контактний телефон:</label><br>
        <input class="input-custom-field" name="tel_advert" id="tel_advert" placeholder="Контактний телефон" value="<?php echo get_post_meta( $post->ID, 'tel_advert',true); ?>">


<br /><input type="submit" name="send" value="Опублікувати" />
</form>

В форме отлично выводятся категории таксономии.

Есть файл обработчик:

<?php
/* Define these, So that WP functions work inside this file */
define('WP_USE_THEMES', false);
require( $_SERVER['DOCUMENT_ROOT'] .'/nd/wp-blog-header.php');


if(isset($_POST['send']) == '1') {
 $post_title = $_POST['title'];
 $post_category = $_POST['cat'];
 $post_content = $_POST['description'];
 
 $new_post = array(
 'ID' => '',
 'post_author' => $user->ID,
 'post_category' => array($post_category),
 'post_content' => $post_content,
 'post_title' => $post_title,
 'post_status' => 'publish'
 );
 
 $post_id = wp_insert_post($new_post);
 update_post_meta( $post_id, 'name_author', $_POST['name_author'] );  
 update_post_meta( $post_id, 'tel_advert', $_POST['tel_advert'] ); 
 
 // This will redirect you to the newly created post
 $post = get_post($post_id);
 wp_redirect($post->guid);
}
?>

Когда публикую запись – она попадает в дефолтные записи (category) и не прикрепляется ни к какой категории.
А вот в мою таксономию (advertisement) не хочет добавляться.

Подскажите, что не так делаю и куда копать?

Вывод постов произвольной таксономии по меткам

Здравствуйте.
Столкнулся с проблемой вывода постов таксономии по меткам.

Создал свою таксономию – services. Подключил там метки с помощью кода:

add_action( 'init', 'post_tag_for_pages' );
function post_tag_for_pages(){
    register_taxonomy_for_object_type( 'post_tag', 'services');
}

И прописал их вывод:

                    $tags = get_the_tags();
                    $html = '';
                    if ($tags) {
                         foreach ( $tags as $tag ) {
                             $tag_link = get_tag_link( $tag->term_id );
                             $html .= "<a href='{$tag_link}' title='Посмореть все записи с меткой {$tag->name}' class='{$tag->slug}'>{$tag->name}</a>";
                         }
                    }
                    $html .= '';
                    echo $html;

Метки выводит, но когда кликаю по метке то ничего не отображает, хотя посты с такой меткой есть.

Вот код цыкла в tag.php

    <?php 
            global $paged;

            // the loop
        while(have_posts()) : the_post();
    ?>

        <div class="preview">
            <div>
                <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
                <div class="hashtags">
                    <?php
                    $tags = get_the_tags();
                    $html = '';
                    if ($tags) {
                         foreach ( $tags as $tag ) {
                             $tag_link = get_tag_link( $tag->term_id );
                             $html .= "<a href='{$tag_link}' title='Переглянути всі записи з міткою {$tag->name}' class='{$tag->slug}'>{$tag->name}</a>";
                         }
                    }
                    $html .= '';
                    echo $html;
                    ?>
                </div>

            </div>
        </div>

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

Как реализовать вывод дочерних категорий первого уровня?

Всем привет.

Столкнулся с одной интересной проблемой.
Нужно вывести дочерние категории только 1 уровня, что бы получилась конструкция вида:

Первая страница:

Категория

  • Подкатегория 1
  • Подкатегория 2
  • Подкатегория 3

Когда зашли на Подкатегорию:

  • Подкатегория 1

— Подкатегория 1.1
— Подкатегория 1.2
— Подкатегория 1.3

Вывод дочерних категорий сделал, но подкатегория 2 уровня выводится в самой категории.
Вот код:

$thisCat = get_category(get_query_var('cat'),false);
$term_id = $thisCat->term_id; 

# получаем дочерние рубрики
$args = array(
    'child_of' => $term_id,
    'depth' => 1,
    'hide_empty' => 0
);

$sub_cats = get_categories($args);
if( $sub_cats ){
    echo '<table class="details groups">';

    foreach( $sub_cats as $cat ){ 

    echo '<tr><td><a href="' . get_category_link( $cat->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $cat->name ) . '" ' . '>' . $cat->name.'</a> </td></tr> ';

  }

    echo '</table>';

}

Строка ‘depth’ => 1, – как бы должна мне помочь, только вот нужного результата нету.

Подскажите, как можно такое реализовать?

Помогите сделать пользовательскую сортировку постов

Есть сайт с каталогом, на котором в произвольное поле cost_1 прописывается цена.
Нужно сделать возможность пользователю сортировать каталог по убыванию и возрастанию цены.

Нашел форму фильтрации постов (http://dontforget.pro/wordpress/filtr-postov-po-proizvolnyim-polyam-v-wordpress/) – но это немного не то.

Подскажите, пожалуйста, как можно такое сделать?

Хлебные крошки

Привет, гуру.

Нужна помощь с хлебными крошками.
У мене в теме есть кустомные типы записей и отдельные шаблоны страниц на которых они выводятся.
Когда ставлю хлебные крошки (код ниже), то вместо того чтобы отобразить страницу (на которой отображаються все касомные посты) выводит ссылку на категорию (имя таксономии).
Нужна следующая последовательность: Главная / Старица с касомными постами / Сингле поста, сейчас отображает Главная / Ссылка на категорию таксономии / Сингле поста

Вот код:
[code- function breadcrumbs() {

/* === ОПЦИИ === */
$text[‘home’] = ‘Главная’; // текст ссылки "Главная"
$text[‘category’] = ‘Архив рубрики "%s"’; // текст для страницы рубрики
$text[‘search’] = ‘Результаты поиска по запросу "%s"’; // текст для страницы с результатами поиска
$text[‘tag’] = ‘Записи с тегом "%s"’; // текст для страницы тега
$text[‘author’] = ‘Статьи автора %s’; // текст для страницы автора
$text[‘404’] = ‘Ошибка 404’; // текст для страницы 404
$text[‘page’] = ‘Страница %s’; // текст ‘Страница N’
$text[‘cpage’] = ‘Страница комментариев %s’; // текст ‘Страница комментариев N’

$delimiter = ‘ / ‘; // разделитель между "крошками"
$delim_before = ‘<span class="divider">’; // тег перед разделителем
$delim_after = ‘</span>’; // тег после разделителя
$show_home_link = 1; // 1 – показывать ссылку "Главная", 0 – не показывать
$show_on_home = 0; // 1 – показывать "хлебные крошки" на главной странице, 0 – не показывать
$show_title = 1; // 1 – показывать подсказку (title) для ссылок, 0 – не показывать
$show_current = 1; // 1 – показывать название текущей страницы, 0 – не показывать
$before = ‘<span class="current">’; // тег перед текущей "крошкой"
$after = ‘</span>’; // тег после текущей "крошки"
/* === КОНЕЦ ОПЦИЙ === */

global $post;
$home_link = home_url(‘/’);
$link_before = ‘<span>’;
$link_after = ‘</span>’;
$link_attr = ‘ itemprop="url"’;
$link_in_before = ‘<span itemprop="title">’;
$link_in_after = ‘</span>’;
$link = $link_before . ‘<a href="%1$s"’ . $link_attr . ‘>’ . $link_in_before . ‘%2$s’ . $link_in_after . ‘</a>’ . $link_after;
$frontpage_id = get_option(‘page_on_front’);
$parent_id = $post->post_parent;
$delimiter = ‘ ‘ . $delim_before . $delimiter . $delim_after . ‘ ‘;

if (is_home() || is_front_page()) {

if ($show_on_home == 1) echo ‘<div class="breadcrumbs"><a href="’ . $home_link . ‘">’ . $text[‘home’] . ‘</a></div>’;

} else {

echo ‘<div class="breadcrumbs">’;
if ($show_home_link == 1) echo sprintf($link, $home_link, $text[‘home’]);

if ( is_category() ) {
$cat = get_category(get_query_var(‘cat’), false);
if ($cat->parent != 0) {
$cats = get_category_parents($cat->parent, TRUE, $delimiter);
$cats = preg_replace("#^(.+)$delimiter$#", "$1", $cats);
$cats = preg_replace(‘#<a([^>]+)>([^<]+)<\/a>#’, $link_before . ‘<a$1′ . $link_attr .’>’ . $link_in_before . ‘$2′ . $link_in_after .'</a>’ . $link_after, $cats);
if ($show_title == 0) $cats = preg_replace(‘/ title="(.*?)"/’, ”, $cats);
if ($show_home_link == 1) echo $delimiter;
echo $cats;
}

if ( get_query_var(‘paged’) ) {
$cat = $cat->cat_ID;
echo $delimiter . sprintf($link, get_category_link($cat), get_cat_name($cat)) . $delimiter . $before . sprintf($text[‘page’], get_query_var(‘paged’)) . $after;
} else {
if ($show_current == 1) echo $delimiter . $before . sprintf($text[‘category’], single_cat_title(”, false)) . $after;
}

} elseif ( is_search() ) {
if ($show_home_link == 1) echo $delimiter;
echo $before . sprintf($text[‘search’], get_search_query()) . $after;

} elseif ( is_day() ) {
if ($show_home_link == 1) echo $delimiter;
echo sprintf($link, get_year_link(get_the_time(‘Y’)), get_the_time(‘Y’)) . $delimiter;
echo sprintf($link, get_month_link(get_the_time(‘Y’), get_the_time(‘m’)), get_the_time(‘F’)) . $delimiter;
echo $before . get_the_time(‘d’) . $after;

} elseif ( is_month() ) {
if ($show_home_link == 1) echo $delimiter;
echo sprintf($link, get_year_link(get_the_time(‘Y’)), get_the_time(‘Y’)) . $delimiter;
echo $before . get_the_time(‘F’) . $after;

} elseif ( is_year() ) {
if ($show_home_link == 1) echo $delimiter;
echo $before . get_the_time(‘Y’) . $after;

} elseif ( is_single() && !is_attachment() ) {
if ($show_home_link == 1) echo $delimiter;
if ( get_post_type() != ‘post’ ) {
$post_type = get_post_type_object(get_post_type());
$slug = $post_type->rewrite;
printf($link, $home_link . ‘/’ . $slug[‘slug’] . ‘/’, $post_type->labels->singular_name);
if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;
} else {
$cat = get_the_category(); $cat = $cat[0];
$cats = get_category_parents($cat, TRUE, $delimiter);
if ($show_current == 0 || get_query_var(‘cpage’)) $cats = preg_replace("#^(.+)$delimiter$#", "$1", $cats);
$cats = preg_replace(‘#<a([^>]+)>([^<]+)<\/a>#’, $link_before . ‘<a$1′ . $link_attr .’>’ . $link_in_before . ‘$2′ . $link_in_after .'</a>’ . $link_after, $cats);
if ($show_title == 0) $cats = preg_replace(‘/ title="(.*?)"/’, ”, $cats);
echo $cats;
if ( get_query_var(‘cpage’) ) {
echo $delimiter . sprintf($link, get_permalink(), get_the_title()) . $delimiter . $before . sprintf($text[‘cpage’], get_query_var(‘cpage’)) . $after;
} else {
if ($show_current == 1) echo $before . get_the_title() . $after;
}
}

// custom post type
} elseif ( !is_single() && !is_page() && get_post_type() != ‘post’ && !is_404() ) {
$post_type = get_post_type_object(get_post_type());
if ( get_query_var(‘paged’) ) {
echo $delimiter . sprintf($link, get_post_type_archive_link($post_type->name), $post_type->label) . $delimiter . $before . sprintf($text[‘page’], get_query_var(‘paged’)) . $after;
} else {
if ($show_current == 1) echo $delimiter . $before . $post_type->label . $after;
}

} elseif ( is_attachment() ) {
if ($show_home_link == 1) echo $delimiter;
$parent = get_post($parent_id);
$cat = get_the_category($parent->ID); $cat = $cat[0];
if ($cat) {
$cats = get_category_parents($cat, TRUE, $delimiter);
$cats = preg_replace(‘#<a([^>]+)>([^<]+)<\/a>#’, $link_before . ‘<a$1′ . $link_attr .’>’ . $link_in_before . ‘$2′ . $link_in_after .'</a>’ . $link_after, $cats);
if ($show_title == 0) $cats = preg_replace(‘/ title="(.*?)"/’, ”, $cats);
echo $cats;
}
printf($link, get_permalink($parent), $parent->post_title);
if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;

} elseif ( is_page() && !$parent_id ) {
if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;

} elseif ( is_page() && $parent_id ) {
if ($show_home_link == 1) echo $delimiter;
if ($parent_id != $frontpage_id) {
$breadcrumbs = array();
while ($parent_id) {
$page = get_page($parent_id);
if ($parent_id != $frontpage_id) {
$breadcrumbs
= sprintf($link, get_permalink($page->ID), get_the_title($page->ID));
}
$parent_id = $page->post_parent;
}
$breadcrumbs = array_reverse($breadcrumbs);
for ($i = 0; $i < count($breadcrumbs); $i++) {
echo $breadcrumbs[$i];
if ($i != count($breadcrumbs)-1) echo $delimiter;
}
}
if ($show_current == 1) echo $delimiter . $before . get_the_title() . $after;

} elseif ( is_tag() ) {
if ($show_current == 1) echo $delimiter . $before . sprintf($text[‘tag’], single_tag_title(”, false)) . $after;

} elseif ( is_author() ) {
if ($show_home_link == 1) echo $delimiter;
global $author;
$author = get_userdata($author);
echo $before . sprintf($text[‘author’], $author->display_name) . $after;

} elseif ( is_404() ) {
if ($show_home_link == 1) echo $delimiter;
echo $before . $text[‘404’] . $after;

} elseif ( has_post_format() && !is_singular() ) {
if ($show_home_link == 1) echo $delimiter;
echo get_post_format_string( get_post_format() );
}

echo ‘</div><!– .breadcrumbs –>’;

}
}[/code]
Помогите, пожалуйста

Вывод прикрепленных картинок к посту.

Здравствуйте, ребята.

Нужна помощь знающих людей.

Делаю галерею на сайте и для вывода прикрепленных картинок использую следующий код:

<?php $args = array(
                'post_type' => 'attachment',
                'numberposts' => null,
                'post_status' => null,
                'order'          => 'ASC',
                       'post_parent' => $post->ID
            );
            $attachments = get_posts($args); ?>



<?php
if( count($attachments) > 1 ) { ?>
            <div id="post_thumbs">
                <?php $featured_image = get_post_thumbnail_id(get_the_ID());
                    foreach ($attachments as $attachment) {
                    if ($featured_image != ($attachment->ID)) {    ?>
                <a href="<?php echo wp_get_attachment_url($attachment->ID); ?>"  class="fancybox" data-fancybox-group="gallery">
                    <?php echo wp_get_attachment_image( $attachment->ID, 'thumbnail' ); ?>
                </a>
        <?php } } } ?>

Сам код работает отлично, но возникла необходимость выводить первые 5 картинок в другом размере (medium) – все никак не получается.
Понимаю, что код выводит картинки тогда, когда есть более 1 прикрепленной, но как модифицыровать под свои нужды не мойму.
В интернете есть инфа как вывести или все файлы или отдельные типы файлов, а вот как сделать разные размеры – я не нашел.

Помогите, пожалуйста.

Вывод случайных постов

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

Возникла необходимость вывода случайных постов на странице категории.
Используются два цыкла: 1 – вывод постов категории, 2 – вывод случайных постов необходимой мне категории.

Посты выводятся нормально, только нет вывода СЛУЧАЙНЫХ постов, а выводятся только последние пості из категории (пості не изменяются при обновлении страницы).

Использую следующий код для случайных постов:

  $args=array(
    'orderby' =>rand, 
    'showposts'=>4,
    'cat'=>1
   );
  $my_query = new WP_Query($args);
  if( $my_query->have_posts() ) {
    echo "<ul>";
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
      <li><?php the_post_thumbnail('post-avto'); ?><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
    <?php endwhile;
    echo "</ul>";
  }
wp_reset_query();

Подскажите, пожалуйста, как исправить под мои нужды…

Интеграция 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>");
?>

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

Помогите сделать проверку КАПЧА

Доброго времени суток.
На сайте есть некая произвольная форма.
Я туда всунул отображение скрипта КАПЧА т.к. сказано в редми

<?php if( function_exists( 'cptch_display_captcha_custom' ) ) {
 echo "<input type='hidden' name='cntctfrm_contact_action' value='true' />";
 echo cptch_display_captcha_custom(); } ?>

сделал проверку ввода кода таким образом:

    if(trim(empty($_POST['cptch_check_custom_form']))) {
        $IsError2 .= __('- код.\n', 'vip-crea');
        $hasError2 = TRUE;
    } else {
        if(function_exists('stripslashes')) {
            $capt2 = stripslashes(trim(strip_tags($_POST['cptch_check_custom_form'])));
        }
    }

И тут возникла проблема, даже если ввожу верный код капчи, то форма не отсылает данные.

Вот полный код страницы:

<?php 
$hasError = FALSE;
$nosubmitted = TRUE;
if(isset($_POST['submitted'])) :
    $nosubmitted = FALSE;
    if(trim(empty($_POST['contactName']))) {
        $IsError = __('- ваше ім`я\n');
        $hasError = TRUE;
    } else {
        $name = trim($_POST['contactName']);
    }

    if(trim(empty($_POST['tel'])))  {
        $IsError .= __('- номер телефону\n');
        $hasError = TRUE;
    } else {
        $tel = trim($_POST['tel']);
    }

    if(trim(empty($_POST['message']))) {
        $IsError .= __('- коментар або запитання.\n');
        $hasError = TRUE;
    } else {
        if(function_exists('stripslashes')) {
            $text = stripslashes(trim(strip_tags($_POST['message'])));
        } else {
            $text = trim(strip_tags($_POST['message']));
        }
    }


    if(trim(empty($_POST['from-time']))) {
        $IsError .= __('- зателефонувати з\n');
        $hasError = TRUE;
    } else {
        $fromtime = trim($_POST['from-time']);
    }


    if(trim(empty($_POST['to-time']))) {
        $IsError .= __('- зателефонувати до\n');
        $hasError = TRUE;
    } else {
        $totime = trim($_POST['to-time']);
    }





    if(trim(empty($_POST['cptch_check_custom_form']))) {
        $IsError .= __('- захисний код.\n', 'vip-crea');
        $hasError = TRUE;
    } else {
        if(function_exists('stripslashes')) {
            $capt = stripslashes(trim(strip_tags($_POST['cptch_check_custom_form'])));
        }
    } 




if($hasError === FALSE) {
$fullmessage = '
<style type="text/css">
table {text-align: centr; background:#000000;}
th, td {padding: 4px 4px;}
th {background:#000000;color:#FFF;}
td {background:#EEE;color:#000;}
</style>
<center>
<table border="0" bgcolor="#dadada" width="80%" align="center">
  <tr cellpadding="10">
    <th width="180px">'. __('Ім`я').'</th><td>'.$name.'</td>
  </tr>
  <tr><td colspan="2"><hr size="3" color="#909090"></td></tr>
  <tr>
    <th width="180px">'. __('Телефон').'</th><td>'.$tel.'</td>   
  </tr>
  <tr><td colspan="2"><hr size="3" color="#909090"></td></tr>
  <tr>
    <th width="180px">'. __('Коментар').'</th><td>'.$text.'</td>    
  </tr>
  <tr><td colspan="2"><hr size="3" color="#909090"></td></tr>
  <tr>
    <th width="180px">'. __('Зателефонувати з').'</th><td>'.$fromtime.' год.</td>    
  </tr>
  <tr><td colspan="2"><hr size="3" color="#909090"></td></tr>
  <tr>
    <th width="180px">'. __('Зателефонувати до').'</th><td>'.$totime.' год. </td>    
  </tr>
</table>
</center>';
add_filter('wp_mail_content_type',create_function('', 'return "text/html";'));    
$emailSend = wp_mail(get_bloginfo('admin_email'), 
                     'Зворотній дзвінок ['.get_bloginfo('name').']', 
                                          $fullmessage);
}
endif;
?>





                                <form id="contacts-form" action="#" method="post">

                                        
                                            <b>Зателефонуйте мені</b>
                                        
                                        <p>
                                            <input type="text" div id="f" name="contactName" value="" placeholder="Ваше ім'я" />
                                            <input type="text" div id="f"  name="tel" value=""  id="telephon" placeholder="Ваш телефон" />

<script type="text/javascript">
$('#telephon').bind("change keyup input click", function() {
    if (this.value.match(/[^0-9]/g)) {
        this.value = this.value.replace(/[^0-9]/g, '');
    }
});
</script>
                                        </p>
                                        <p>
                                            <textarea name="message" placeholder="Ваше запитання або коментар" ></textarea>
                                        </p>
                                        <p>Бажаний час дзвінка:<br>
                                        З:
                                        <select name="from-time">
                                           <option>1</option>
                                           <option>2</option>
                                           <option>3</option>
                                           <option>4</option>
                                           <option>5</option>
                                           <option>6</option>
                                           <option>7</option>
                                           <option>8</option>
                                           <option>9</option>
                                           <option>10</option>
                                           <option>11</option>
                                           <option>12</option>
                                           <option>13</option>
                                           <option>14</option>
                                           <option>15</option>
                                           <option>16</option>
                                           <option>17</option>
                                           <option>18</option>
                                           <option>19</option>
                                           <option>20</option>
                                           <option>21</option>
                                           <option>22</option>
                                           <option>23</option>
                                           <option>24</option>
                                        </select>


                                        До:
                                        <select name="to-time">
                                           <option>1</option>
                                           <option>2</option>
                                           <option>3</option>
                                           <option>4</option>
                                           <option>5</option>
                                           <option>6</option>
                                           <option>7</option>
                                           <option>8</option>
                                           <option>9</option>
                                           <option>10</option>
                                           <option>11</option>
                                           <option>12</option>
                                           <option>13</option>
                                           <option>14</option>
                                           <option>15</option>
                                           <option>16</option>
                                           <option>17</option>
                                           <option>18</option>
                                           <option>19</option>
                                           <option>20</option>
                                           <option>21</option>
                                           <option>22</option>
                                           <option>23</option>
                                           <option>24</option>
                                        </select>

                                        </p>
<br><hr>
<p><div id="captcha">
Введіть число: &nbsp&nbsp&nbsp <b><?php if( function_exists( 'cptch_display_captcha_custom' ) ) { echo "<input type='hidden' name='cntctfrm_contact_action' value='true' />"; echo cptch_display_captcha_custom(); } ?></b></div>
</p>


                                        <p>
                                            *Усі поля обов'язкові до заповнення
                                        </p>

                                        <p class="form-submit">
                                            <input name="submit" type="submit" id="submit" value="Надіслати">
                                            <input type="hidden" name="submitted" id="submitted" value="true" />
                                        </p>
                                </form>










                    <?php 
                        if ($nosubmitted === FALSE) {
                            if (($hasError === TRUE)or($emailSend === FALSE)) { 
                                echo '<script type="text/javascript">alert("'. __('Заповніть будь ласка поля:\n').''.$IsError.'");</script>';
                            }  elseif (($hasError === FALSE)and($emailSend === TRUE)) {
                                echo '<script type="text/javascript">alert("'. __('Дякуємо. Ми зателефонуємо Вам відразу як будемо мати можливість.').'");</script>';;

Помогите, пожалуйста.

Ajax подгрузка постов

Доброго времени суток.

Нужна помощь знатоков. Нужно с помощью аjax подгружать новые посты. С вертикальной прокруткой не проблема, но мне нужно подгружать при использовании ГОРИЗОНТАЛЬНОЙ прокрутки.

Может кто встречался с таким. Очень нужно.

Как убрать код?

Не могу понять откуда берется код.
В каждом посте снизу добавляется строка: <div id="dc_vk_code" style="display:none"></div> (можно убрать в режиме html).
Вставляется он автоматом. Так же есть настройка сайта в которой можно загрузить логотип и фавикон – в конце адреса этих картинок также додается этот код.

Тема самописная. При использовании дефолтной темы такого нет. Никаких плагинов не использую.

Вот адрес сайта: http://www.safmg.lutsk.ua

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

Нужна помощь со списком select

Всем доброго времени суток.

Пишу пользовательскую настройку темы и столкнулся с проблемой.

В интерфейсе настроек есть поле select для выбора категории.
Этот выбор делаю таким образом:

функция select:
[code- case "catdrop":
$dropdowncats = wp_dropdown_categories(‘echo=0&show_option_none=Все категории’);
$output .= ‘<select>’;
$output .= ‘<option ‘. $dropdowncats .’></option>’;
$output .= ‘</select>’;
break;[/code]
и опция для определения шорткода:

$options 
= array( "name" => "Слайдер портфолио", "desc" => "Категория вашого портфолио.", "id" => $shortname."_portfolio_cat", "std" => "", "type" => "catdrop");

Всё работает нормально, но после формы списка почему то отображается символ ">" и данный код генерирует следующую форму:

<div class="controls">
<select><option <select="" name="cat" id="cat" class="postform">
    </option><option value="-1">Все категории</option>
    <option class="level-0" value="1">Uncategorized</option>
    <option class="level-0" value="4">портфолио</option>
    <option class="level-0" value="28">реклама</option>
</select>
&gt;<br></div>

Никак не могу понять в чем причина. Может у кого есть какие то соображения в чем может быть проблема??

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