Polkan

Polkan
Рейтинг
102
Регистрация
28.09.2005
Tison:
Polkan,
Этот кусок вставлять в функции темы или в сингл ? Чет не пойму)

Да, весь код вставьте в functions.php

Только обратите внимание, что я там переписал вашу catch_that_image()

Так что либо переименуйте ее, либо закомментируйте/удалите свою старую

Иначе будет ошибка

Tison:
Всем привет,

У меня вопрос: как задать произвольное поле для картинки при помощи этого скрипта

function catch_that_image() {
global $post, $posts;
$first_img = '';
ob_start();
ob_end_clean();
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
$first_img = $matches [1] [0];

// no image found display default image instead
if(empty($first_img)){
$first_img = "/wp-content/uploads/2010/03/103.jpg";
}
return $first_img;
}

Этим скриптом я создаю миниатюры для записей но в плагине "похожие записи" и "популярные посты" миниатюры не показываются ,но можно задать их через произвольное поле но как его задать?

Ну и скрипт у вас, однако.

$posts не нужен.

Эти строки тоже:

ob_start();

ob_end_clean();

Ну либо я чего-то не понимаю )

Попробуйте так:

Поле по идее будет создаваться в момент публикации поста:

(Возможно пока писал потерял где-то скобки или точки с запятыми. Потестируйте уже сами.)



function catch_that_image($post_id) {
global $post;
$post_id = absint($post_id);
if (empty($post_id)) $post_id = $post->ID;
if (empty($post_id)) return;

// default image
$first_img = "/wp-content/uploads/2010/03/103.jpg";

// попробуем взять первое фото из поста
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
if ($output) $first_img = $matches [1] [0];

// не получилось :( тогда попробуем взять первое фото из медиа библиотеки для данного поста
else{
$p = array(
'numberposts' => -1,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order' => 'ASC',
'orderby' => 'menu_order ID',
'post_status' => 'inherit',
'post_parent' => $post_id
);
$attachments = get_posts($p);
if (count($attachments)) {
$image_attributes = wp_get_attachment_image_src( $attachments[0]->ID, 'large' ); // тут можете поменять размер, который вам нужен
if( $image_attributes ){
$first_img = $image_attributes[0];
}
}
}
return $first_img;
}


// при публикации получим картинку и запишем ее в мета-поле
add_action('publish_post', 'add_custom_field_automatically');
function add_custom_field_automatically($post_id) {
if(!wp_is_post_revision($post_id)) {
$img_url = catch_that_image($post_id);
// если произвольное поле с таким именем у данного поста уже есть, изменено оно не будет
// т.е. скрипт создаст поле только если его нет
add_post_meta($post_id, 'ТУТ_ИМЯ_ВАШЕГО_ПРОИЗВОЛЬНОГО_ПОЛЯ', $img_url, true);
}
}

Всем, кто ждал новой ценовой политики:

Объявляем уникально выгодные условия получения нашего продукта!

Basic версия теперь абсолютно бесплатна!
Специальная цена на Premium версию составляет... 5000 рублей!

Спешите! Эта скидка не будет действовать вечно.

Продукта с таким функционалом как у нас просто не существует! ;)

Плюс ни одна другая система не даст вам такой гибкости. Ведь наш продукт для Wordpress, т.е. вам автоматически становится доступно практически бесчисленное многообразие тем и плагинов для использования на сайте.

Скачать бесплатно Basic-версию: http://p-api-shop.ru/papishop-basic.tar.gz

Купить Premium-версии по специальной цене 5000 руб: http://p-api-shop.ru/?page_id=848

А теперь:

Наше очередное обновление с очень полезным функционалом!

Мы добавили возможность выводить на страницы сайта произвольные товары:

- строго определенные

- полностью случайные

- случайные из указанных разделов каталога

- случайные из заданного списка товаров

Причем выбраны для показа будут только те товары, которые можно купить (установлена цена, есть кнопка "купить")

Делать это можно двумя способами:

- добавив шорткод [p_products] прямо в текст поста, страницы, товара...

- воспользовавшись функцией papi_get_products() в шаблоне страниц сайта

Для чего это можно использовать:

- для формирования блока с товарами на главной странице сайта

- для формирования блока "посетители также покупают" на страницах товаров

- для формирования блока upSell на странице "благодарим за оформление заказа"

Пример страницы с добавленным шорткодом [p_products limit=4] (показать 4 случайных товара): http://p-api-shop.ru/?page_id=941 (нажимайте F5, товары будут меняться)

Пример добавления через шаблон блока "также рекомендуем" - см на странице любого товара внизу.

Пример Upsell см на странице "благодарим за заказ" (нужно оформить тестовый заказ)

Подробнее см. в инструкции:

по шорткоду: http://p-api-shop.ru/?page_id=962

по функции для шаблонов: http://p-api-shop.ru/?page_id=37#papi_get_products

думаю:
ну тут 1 психологический момент, 2 надеются делать сателлиты под продажу ссылок без наполнения, а тупо парся товары и генерирую страницы и как бонус возможные продажи :) Но это я думаю что так люди думают :) Зачем им на деле безлимит не понятно :)

Вот и мне непонятно...

Ведь даже если выбранный товар "не пошел", можно просто полностью сменить ассортимент на том же самом домене (он уже и возраст какой-то имеет, и вес какой-никакой). Ну или добавить еще один раздел каталога и лить траф туда. Ограничений-то на количество товаров нет. Благо все это делается у нас "проще некуда".

Ну а сапу можно и на стандартные многостраничники вешать (редактор шаблонов в АШ есть).

seo_novice:
За 3-5К купил бы премиум, но 10 это многовато пока (
А так, да- идея супер, ибо встроенный многостраничный движок ну совсем уж не айс )

Так ведь и не 10 :)

Сейчас цена - 7

Sergi0k:
3-5К и неограниченное число доменов - это уже вменяемая цена будет. Буржуи по таким ценам свои аналогичные разработки продают.

Не думаю, что та "аналогичная" разработка о которой вы говорите - такая уж аналогичная. ;)

Это больше система автоматического наполнения блога записями (в том числе товарами, с амазона, например) с партнерскими кнопками. Да, некоторые модули (как они пишут) могут обновлять информацию. Но та система не делает из вашего сайта полноценный магазин - с добавлением товаров в корзину, с автоматическим обновлением цен, с включением/отключением товаров по наличию на складе, с апселлом (апселл будет в завтрашнем обновлении)...

Уже на данном этапе у нас все сделанные заказы сохраняются в таблицу заказов (в будущем будет организован "кабинет пользователя"). А владелец магазина, имея базу покупателей и видя их активность и предпочтения в товарах, сможет существенно увеличить продажи делая направленные спецпредложения.

И кстати у буржуев 1 год поддержки и 1 год обновлений.

И объясните, пож-ста, для чего неограниченное число доменов? Я просто не понимаю.

Вы же не сделаете неограниченное число магазинов (не тяп-ляп, а нормальных магазинов), на которые, что логично, понадобится неограниченное количество времени и трафика.

Nif-Nif:
WP под такую задачу не очень, imho. Разделение одноуровневых пользователей сложновастенько сделать будет.

Не так сложно, как кажется: update_user_meta()

Получили через робокассу платеж - обновили метаполе юзера.

Ну и проверяете его потом где надо.

dimarostov:
Я писал, что мне нужно, полноценная доска и каталог. Но если на ВП это сделать нормально нельзя, значит надо делать на другом движке, или отказаться от того что нужно, в пользу того, что можно :)
Про instantcms слышал, смотрел, но не видел нормальных сайтов на этой цмс. Если уж менять движок - лучше наверное друпал.

На WP можно сделать практически все.

На Drupal тем более.

Мы решили снизить цену на Basic версию (временно)

Да, таких преимуществ Premium версии, как автоматизация операций, сортировка для посетителей и пр. вы в ней не увидите (на то она и Basic), однако сможете установить, настроить и полноценно работать (получать заказы) и в любой момент легко (без каких-либо перенастроек и потери заведенных товаров) обновить ее до Premium версии и получить полный функционал!

Кроме того, мы добавили в версию Basic одну классную возможность из версии Premium!

А именно - добавление кнопок покупки любого товара на любую страницу сайта. (http://p-api-shop.ru/?page_id=405)

Да, кстати, я как-то совсем забыл показать что представляет собой админка, исправляем это упущение:

Страница настроек плагина



Работа со списком товаров



Редактирование товара



Итак, стоимость Basic версии - полностью рабочей версии, которая будет продавать товары

и которую легко можно обновить до Premium - составляет всего... 1000р.

(меньше 30$! смешная цена за полностью рабочий продукт, аналогов которому нет)

technomaster:
Как цену снизите так можно будет подумать о покупке, даже интересно сколько людей купят.

Цена пока 7000. Это меньше 200$. Куда ж еще снижать?

-= Serafim =-:
Заплатить 2к, чтобы потестить демку?)

Это не совсем демка. Это полностью рабочий продукт. Самое главное его отличие - отсутствие автоматицации процессов. Если у ВМ на сайте всего ~10 товаров, которые дают в сутки ~10 заказов, то можно обходиться и без автоматизации.

Но вообще уже становится понятно насколько обленились нынче ВМ (не клепают ежедневно вручную доры под umax :) ). Так что, возможно, версия без автоматизации и на 10 товаров покажется "слишком сложной". Вот на нее мы можем снизить цену.

Но повторюсь, не стоит воспринимать ее как "демку", это версия, где "все руками".

---------- Добавлено 18.11.2014 в 17:43 ----------

думаю:
Да, задумка очень не чего, судя по описанию функционал тоже не плох, но даже с учетом скидки 3к все равно дорого, понятно что для того кто на апи шопе делает сотни тысяч это может не так много, хотя смотря как делает, если на однастраничниках то в принципе скрипт не так важен, другое дело если хочется поднять свой норм магазин и попробовать, то за "попробовать" выкладывать 10к ;)

Вообще, если человек решил серьезно заняться магазином, странно слышать, что у него нет 10к на основной инструмент продаж. Более того, это вообще единственное вложение (не считая рекламы, конечно), потому что все остальное сделает АШ. Вероятно не такой уж серьезный у него настрой ))

Belkat:
Ребят, задумка очень классная. Но действительно нужно снизить цену, чтобы рынок это проглотил. А то получится так, что купят 10-20 человек и вы "остынете" к продукту, потому что из-за высокой цены спрос будет небольшой.

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

Это только мое мнение. Но повторюсь продукт классный, судя по описанию. Сам куплю обязательно, просто жду другой ценовой политики и хоть какой-то динамики, показывающей, что продукт будет развиваться.

Мы не остынем, потому что сами работаем с многостраничниками. Сейчас заменяем этим плагином многостраничный магазин, который работал в отдельной папке одного большого сайта. Думаем как минимизировать потери трафика из поиска при переходе.

Обновление плагина:

Как я уже писал ранее, мы принимаем пожелания пользователей (действующих и будущих).

И вот обещанное обновление с функционалом, который всех интересовал.

Добавлена пакетная загрузка товаров на сайт.

Вкратце, как это работает:

- вы устанавливаете в настройках какие новые товары вас интересуют (Все; Доступные для заказа; В наличии на складе)

- скрипт автообновления создает готовый для загрузки файл

- загружаете этот файл через админку

- получаете полный сайт товаров с описаниями и картинками

Теперь объявление:

1) Мы увеличиваем количество доменов на одну лицензию. Теперь ограничение не 2 домена, а 5 доменов.

2) Мы увеличиваем количество промо-копий продукта до 5 штук.

На данный момент продана одна лицензия.

Так что осталось еще 4 лицензии по специальной цене - 7000р.

Поверьте, такого комфорта при работе с многостраничниками АШ еще не было. 🚬

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

Например так:


global $post;

$args = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page'=> -1,
'order' => 'DESC',
'orderby' => 'date',
'category__in' => wp_get_post_categories($post->ID),
'date_query' => array(
array(
'after' => array(
'year' => date('Y',strtotime("-1 month")),
'month' => date('m',strtotime("-1 month")),
'day' => date('d',strtotime("-1 month")),
),
'inclusive' => true,
),
),
);

$my_query = new WP_Query( $args );

if ( $my_query->have_posts() ) {
echo '<ul>';
while ( $my_query->have_posts() ) {
$my_query->the_post();
echo '<li>'.'<a href="'.get_permalink().'">'.get_the_title().'</a>'.'</li>';
}
echo '</ul>';
} else {
// постов нет
}
wp_reset_postdata();

Там часть параметров в $args можно убрать, потому что им присвоемы значения по умолчанию. Я их специально написал, чтоб вы видели как можно менять запрос (тип поста, тип и порядок сортировки и пр.)

Всего: 438