artatwjs

Рейтинг
54
Регистрация
17.04.2012
dc9095

Нашел такой вариант, но товары не выводит, выводит только статьи блога, может подскажете что подправить?

Создадим несколько вспомогательных функций. Их можно объявить в файле functions.php вашей темы или непосредственно в начале файла 404.php.

function frl_get_requested_slug(){

global $wp;

$q = $wp->request;

$q = preg_replace("/(.*)(html|htm|php|asp|aspx)$/","",$q);

$parts = explode('/', $q);

$q = end($parts);

return $q;

}

Функция frl_get_requested_slug возвращает содержание запрошенного URL, используя глобальную переменную $wp и регулярное выражение. Предполагается, что сайт использует постоянные ссылки.

function frl_list_posts($posts){

if(empty($posts))

return '';

$list = array();

foreach($posts as $cpost) {

$title = apply_filters('the_title', $cpost->post_title);

$url = get_permalink($cpost);

$list[] = "<li><a href='{$url}'>{$title}</a></li>";

}

return implode('', $list);

}

Функция frl_list_posts помогает быстро вывести список ссылок на записи, в качестве аргумента — массив объектов WP_Post.

function frl_load_error_style(){

if(!is_404())

return;

$src = get_template_directory_uri().'/css/error-style.css';

wp_enqueue_style('error-style', $src);

}

Функция frl_load_error_style загружает стили для шаблона 404 страницы, .css файл находится в подпапке /css директории вашей темы.

Код шаблона будет состоять из 4 частей: сообщение об ошибке, поиск, свежие записи, контактная информация и форма поиска.

Сообщение об ошибках:

<!-- Message -->

<h2>404: Page not found</h2>

<div class="message not-found">

<p>Sorry, unfortunately, we could not find the requested page.</p>

<p>Let's find the information you need.</p>

</div>

Поиск похожих записей:

<!-- Did you mean -->

<?php

$q = frl_get_requested_slug();

$args = array(

'post_type' => 'any',

'post_status' => 'publish',

'name' => $q,

'posts_per_page' => 5

);

$query = new WP_Query($args); //query posts by slug

if(empty($query->posts)){ //search for posts

$q = str_replace('-', ' ', $q);

$args = array(

'post_type' => 'any',

'post_status' => 'publish',

's' => $q,

'posts_per_page' => 5

);

$query->query($args);

}

if(!empty($query->posts)):

?>

<h4>Were you looking for the one of the following pages?</h4>

<ul class="posts-list">

<?php echo frl_list_posts($query->posts);?>

</ul>

<?php endif;?>

Свежие записи:

<!-- Recent content -->

<?php

$args = array(

'post_type' => 'post',

'post_status' => 'publish',

'posts_per_page' => 5

);

$query->query($args);

if(!empty($query->posts)):

?>

<h4>Why not take a look through the most recent posts?</h4>

<ul class="posts-list">

<?php echo frl_list_posts($query->posts);?>

</ul>

<?php endif;?>

Контактные данные и форма для поиска:

<!-- Search options -->

<?php $home_link = home_url(); ?>

<h4>No good?</h4>

<p>Please use the search form to try again or start browsing from the <a href='<?php echo $home_link;?>'>Homepage</a>.</p>

<p>If you need further assistance please don't hesitate to contact at <em>info@domain.com</em>.</p>

<?php get_search_form();?>

silicoid:
тогда 404, чтоб не вводить в заблуждение пользователей.

Но все-таки лучше купить диск по-больше, ибо так правильнее, чем 404 давать.
да и органика будет на них, с потенциальными переходами на товары и покупками

Спасибо, именно это меня и интересовало, про заблуждение пользователей.

silicoid:
Что значит "удаленные товары"
Товары, снятые с продажи по причине снятия их с производства?

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

если товар удален по иной причине, например, вы переименовали путь, то 301, ну а если он появился на сайте по ошибке, то 404

Товары которых нет в наличии, товаров много, поэтому оставлять их не позволяет место на диске.

Ничего у меня не получается, воспользуюсь услугами администрирования) Всем спасибо

Такая же ошибка при запуске Ngnix

[root@new-browser ~]# systemctl start nginx.service

Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

[root@new-browser ~]#

Опять та же история. Подскажите

---------- Добавлено 22.07.2017 в 08:46 ----------

* nginx.service - nginx - high performance web server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Sat 2017-07-22 04:40:49 UTC; 4min 52s ago
Docs: http://nginx.org/en/docs/
Process: 24530 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=1/FAILURE)
Process: 24522 ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
Jul 22 04:40:46 new-browser nginx[24530]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 22 04:40:47 new-browser nginx[24530]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 22 04:40:47 new-browser nginx[24530]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 22 04:40:48 new-browser nginx[24530]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 22 04:40:48 new-browser nginx[24530]: nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Jul 22 04:40:49 new-browser systemd[1]: nginx.service: control process exited, code=exited status=1
Jul 22 04:40:49 new-browser nginx[24530]: nginx: [emerg] still could not bind()
Jul 22 04:40:49 new-browser systemd[1]: Failed to start nginx - high performance web server.
Jul 22 04:40:49 new-browser systemd[1]: Unit nginx.service entered failed state.
Jul 22 04:40:49 new-browser systemd[1]: nginx.service failed.

Хорошо, попробую Nginx. Просто при поиске "кэширование на стороне сервера" мне попалась эта тема.

cblcg:
при nofollow вес передается в никуда, т.е. потерю веса не решает это

Что значит в никуда. При расчете веса, ссылки с атрибутом nofollow поисковиками не учитываются, соответственно вес остается на месте. Так?

Ладно. Буду делать потихоньку, а там посмотрим☝

Если ссылаешься на хороший трастовый тематический сайт, то скорее всего это только к лучшему. Так что все зависит от сайта партнерки, имхо☝

А у меня что то все без изменений) Сайт правда молодой, но страницы каждый день добавляю🙅

Всего: 47