Вывод похожих записей с картинками без плагина

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

  • это красиво;
  • избавитесь от лишней нагрузки на Ваш сайт;
  • уменьшите возможность взлома Вашего web-ресурса;
  • ускорите страницы Вашего блога, это существенно повлияет на посещаемость;
  • в глазах поисковых систем, улучшаться показатели перехода по страницам Вашего блога, значит Ваши статьи поднимутся выше в поисковой выдаче.

Найдите файл single.php, он находится в папке с Вашей темой. Откройте его и вставьте код там, где Вы хотите, чтобы выводились похожие записи. Обычно этот код ставят в конце статьи. Сам код с объяснениями:

<!--Resource: webmaster.neonafm.ru-->
<h3 style="text-align: center;"><strong>Интересные статьи:</strong></h3>
<div>
<?php
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids, // Сортировка производится по категориям
'post__not_in' => array($post->ID),
'showposts'=>4, //Количество выводимых записей
'orderby'=>rand, // Условие сортировки рандом
'caller_get_posts'=>1); // Запрещаем повторение ссылок
$my_query = new wp_query($args);
if( $my_query->have_posts() ) {
echo '<div>';
while ($my_query->have_posts()) {
$my_query->the_post();
?>
<div><a href="<?php the_permalink() ?>" target="_blank" title="<?php the_title(); ?>">
<div id="related_posts_box"><?php the_post_thumbnail(array(150,150)); ?> <?php the_title(); ?></div></a></div>
<?php
}
echo '</div>';
}
wp_reset_query();
}
?>
</div>
<!--/Resource: webmaster.neonafm.ru-->

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

В коде выше, можно изменить число вывода похожих записей, там стоит 4, а Вы можете изменить на свое, это строчка «’showposts’=>4».

Можете сделать вывод последних записей, для этого Вам нужно просто удалить строку «orderby’=>rand».

Не крутится слайдер в ClassiPress

Попробуйте заменить блок параметров скрипта в файле featured.php

btnNext: '.next', 
btnPrev: '.prev', 
autoWidth: true, 
responsive: true, 
autoCSS: true, 
speed: 300, 

На этот:

btnNext: '.next', 
btnPrev: '.prev', 
autoWidth: true, 
responsive: true, 
pause: true, 
auto: true, 
timeout: 2800, 
speed: 1100, 
easing: 'easeOutQuint' 

Должно помочь.

Как убрать, когда размещено и истекает объявление, на ClassiPress

Если вам надо убрать строчки «Размещено» и «Истекает через» то зайдите в теме ClassPress в файл single-ad_listing.php, найдите и удалите там строчки:

Размещено:

<li id="cp_listed"><span><?php _e( 'Listed:', APP_TD ); ?></span> <?php echo appthemes_display_date( $post->post_date ); ?></li>

Истекает через:

<?php if ( $expire_date = get_post_meta( $post->ID, 'cp_sys_expire_date', true ) ) { ?>
										<li id="cp_expires"><span><?php _e( 'Expires:', APP_TD ); ?></span> <?php echo cp_timeleft( $expire_date ); ?></li>
									<?php } ?>

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

Русификация ClassiPress

Оформление тем для WordPress преимущественно выполняется на английском языке и ClassiPress в этом плане не исключение. Тем не менее русификация ClassiPress не представляет особой сложности даже для начинающих вебмастеров, так как эта тема заявлена разработчиком, как “translation-ready”. Это означает, что тему можно перевести на любой язык без вмешательства в исходный программный код.

Перевод с помощью программы Poedit

В корневой директории ClassiPress имеется файл classipress.pot (начиная с v3.6.0 – в папке languages) представляющий собой языковый шаблон на основании которого и создаются файлы для перевода. Поэтому перевод можно выполнить самостоятельно при помощи Poedit — программы предназначенной для локализации веб-ресурсов, созданных по технологии GNU gettext. Если используется эта технология,то для перевода на другой язык нужно всего лишь каждому англоязычному слову или фразе из словаря программы назначить соответствующее слово или фразу из нужного языка (в нашем случае – русского).

Скачать Poedit с сайта.

После того как все соответствия назначены, получившийся файл локализации *.po необходимо скомпилировать в файл *.mo. Программа Poedit делает это автоматически каждый раз при сохранении отредактированного файла локализации. Кроме того в Poedit есть поддержка множественных форм, редактирование комментариев, проверка орфографии, удобный поиск и другие полезные функции.

Перевод с помощью готовых языковых пакетов

Однако, в случае с темой ClassiPress особой необходимости выполнять перевод с нуля нет, так как готовые файлы локализации на нужный язык можно бесплатно скачать с официального сайта AppThemes. Если вдруг для вашей версии ClassiPress нужного языкового пакета там не оказалось, воспользуйтесь пакетом от предыдущей, как правило изменения от версии к версии бывают очень незначительными.
Извлеченные из скачанного архива файлы classipress-ru_RU.po и classipress-ru_RU.mo следует поместить на хостинг в папку ../wp-content/languages/themes/.
Обновите кэш браузера и убедитесь в том, что русификация ClassiPress в целом и общем выполнена. Если же в чем-то чужой перевод вас не устраивает, откорректируйте его на свой лад при помощи все той же программы Poedit.

Скачать руссификатор с сайта.

Источник https://procp.ru

Как добавить Google Maps API Key в Classipress

Речь идет о проблемах с работой гео-сервисов от Google, которые задействованы в родительском шаблоне или дочерней теме. В Classipress наиболее наглядно это проявляется при вызове карты на странице объявления. На новых сайтах вместо карты там появляется вот такое сообщение:

А в консоли видим «Google Maps API error: MissingKeyMapError» и чуть ниже «Google Maps API warning: NoApiKeys». И без перевода не трудно догадаться, что речь идёт о каком-то ключе, вернее об его отсутствии.
Что еще за ключ? Ведь раньше всё замечательно работало без всяких ключей.
Да, действительно, работало и сейчас работает. Но только на сайтах, которые были созданы до 22.06.2016 г. Для новых сайтов теперь необходимо получать в Google Maps API ключи. Но в нашем случае проблема кроется не в самих ключах, а в том, что в настройках шаблонов Classipress вплоть до версии 3.5.6 поле для ввода этого ключа отсутствует. И если у вас именно такой случай, то решить эту проблему можно следующим образом.

Найдите в файле ../includes/enqueue.php вашего шаблона фрагмент кода:

// only load gmaps when we need it
	if ( is_singular( APP_POST_TYPE ) ) {
		$cp_gmaps_lang = esc_attr( $cp_options->gmaps_lang );
		$cp_gmaps_region = esc_attr( $cp_options->gmaps_region );
		$google_maps_url = ( is_ssl() ? 'https' : 'http' ) . '://maps.googleapis.com/maps/api/js';
		$google_maps_url = add_query_arg( array( 'language' => $cp_gmaps_lang, 'region' => $cp_gmaps_region ), $google_maps_url );

		wp_enqueue_script( 'google-maps', $google_maps_url, array( 'jquery' ), '3.0' );
	}

и замените его на этот:

// only load gmaps when we need it
	if ( is_singular( APP_POST_TYPE ) ) {
		$cp_gmaps_lang = esc_attr( $cp_options->gmaps_lang );
		$cp_gmaps_region = esc_attr( $cp_options->gmaps_region );
	// API key load gmaps	
		$cp_gmaps_key = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
		$google_maps_url = ( is_ssl() ? 'https' : 'http' ) . '://maps.googleapis.com/maps/api/js';
		$google_maps_url = add_query_arg( array( 'language' => $cp_gmaps_lang, 'region' => $cp_gmaps_region, 'key' => $cp_gmaps_key ), $google_maps_url );

		wp_enqueue_script( 'google-maps', $google_maps_url, array( 'jquery' ), '3.0' );
	}

Не забудьте только заменить “иксы” на значение своего ключа в параметре


$cp_gmaps_key = ‘XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’;

P.S. Иногда встречаются дочерние темы для которых наличие прописанного API-key в родительском шаблоне не гарантирует нормального функционирования всех используемых в теме гео-сервисов от Google. В таком случае следует отыскать похожий фрагмент кода в functions.phpдочерней темы и добавить в него свой API-key по этому же принципу и подобию.

Статья взята с сайта https://procp.ru

Иконка нового объявления на шаблоне ClassiPress

Мигающая иконка формата GIF для новых объявлений. Это оживляет сайт и сразу создает видимость того, что сайт не мёртвый и кто-то недавно разместил на нем объявление. Иконку можно регулировать по времени. Вид самой иконки:

Как добавить.
В файл content-ad_listing.php перед строкой

<?php appthemes_after_post_title(); ?>

прописываем:

<div id="custom-new">
 <?php if (get_post_meta( $post->ID, 'cp_id_568', true )) if( (date('U')-get_the_time('U')) <= 1*24*60*60) echo '<span class="custom-new"><img class="custom-new-icon" src= "' . get_stylesheet_directory_uri() . '/images/new.gif" title="Новое объявление"/></span>'; ?>
</div>

cp_id_568 заменяем на свой, тот который точно будет в ваших объявлениях, например cp_phone. Взять его можно из Объявления-Специальные поля.

Код 1*24*60*60 — это время, в течении которого будет помаргивать иконка. Данный код означает сутки.

В файле style.min.css прописываем следующее:

div#custom-new {float:right;}
.custom-new {clear:both; font-size:1px; padding-right:8px;}
.custom-new-icon { height:11px; width:27px; padding-right:0px; margin-bottom:-4px;}

Не забудьте саму гифку залить к себе в тему, в папку images.

И можете любоваться своей картинкой на главной странице объявлений!