Ответы в темах

Просмотр 15 ответов — с 16 по 30 (всего 69)
  • Спасибо! Это уже гигантский прорыв так как слово accessories появилось наконец-то в выводе. Но не одно, а в таком виде:

    Array ( [0] => accessories [1] => metkispb )

    Как его одно оставить? Что бы было просто: accessories

    Да, все верно! Так и нужно. Но как же тогда получить их accessories и taxspb! Чтобы в зависимости от того на какой странице находился код выдавалась та или иная переменные. Если сингл или архив принадлежат Москве, то вывести в переменную accessories. Если Питеру то вывести taxspb. И так далее.

    Возможно я неправильно где-то выразился. Просто именно с произвольными типами записей и произвольными таксономиями я менее недели работаю. Кажется, мы с вами несколько разобрались.

    Но самое интересное, что я знаю как и спокойно могу выводить слово moscow в переменную! И я этим пользуюсь успешно. Мне нужно другое.
    А мне нужно вывести в переменную именно accessories. получить его в архивах и сингл страницах. Именно чтобы само слово accessories зашло в переменную.

    у всех записей в движке есть ID,

    Движок тут не причем. Я говорил об ID в csv перед публикацией. Его невозможно задать из-за специфики материалов.

    Еще раз напишу:

    accessories — это не таксономия, а название произвольного типа записей. Нарпимер, все записи для Москвы имеют это название. Все записи для Спб имеют название — taxspb, Для новосибирска — taxnovosibirsk. И так далее.

    Новостей не будет. Будут кое-какие другие данные. Сайт очень специфичный и именно такая его структура того стоит. Может мне сложно объяснить без информации о чем этот сайт, но это стоит того.

    кому на фиг сейчас интересен урл?
    Дело совсем не в url, а в том, что мне нужно будет плагином массово удалить/обновить старые данные при последующих заливках материалов. Если я сделаю так как вы сказали, то ошибочно обновятся/удалятся данные, которые не надо обновлять/удалять. Из-за специфики материалов невозможно им присвоить свой ID. Остается разделять по городам. И на удобстве для посетителей это скажется, конечно, в первую очередь.

    но в любом случае вы не объяснили главное — что означает таксономия accessories? что в ней будет то? какие термины?

    Нет никаких акессуаров))) это глобальное название одного произвольного типа данных — одного города, и всё. У других городов свои названия — taxmoskva, taxnovosibirsk, и т.п. Просто изначально когда создавал сайт с нуля взял тестовый код с этим названием.

    accessories — это не таксономия, а название произвольного типа записей. Нарпимер, все записи для Москвы имеют это название. Все записи для Спб имеют название — taxspb, Для новосибирска — taxnovosibirsk. И так далее.

    Это вряд ли позволит разделить полностью всю информацию на сайте по городам. У каждого материала уже имеются одна таксономия по типу категорий и одна таксономия по типу меток. Они уже объединены дополнительно.

    К тому же если сделать города таксономиями (по типу категорий), как вы предлагали, то получатся дубли в url в разных городах если будут, вдруг, одинаковые наименования в тайтлах в разных городах, а они будут.
    /privet-mir.html
    /privet-mir-2.html
    /privet-mir-3.html

    Мне не нужны дубли с числами из разных городов так как контента планируется опубликовать на десятки и сотни тысяч страниц и несмотря на одинаковый тайтл материалы там разные, и так и должно быть в норме. К тайтлу лишь в теге <title> будет дописываться название города. Просто потом при дальнейших добавлениях необходимо будет обрабатывать массово контент через плагины на поиски возможных дублей и не нужно чтобы ошибочно показывались дубли с числами в url из разных городов, так как они не будут являться дублями, а дублями будут только те материалы, которые имеют цифры и опубликованы для одного города.

    открою вам секрет — переписать блок или виджет вывода последних комментариев на основе записей определенного термина таксономий будет в 1000 раз проще и эффективнее, чем плодить тысячи произвольных типов записей.
    В моем случае кажется это не подойдет. Что вы имеете ввиду подробнее?

    там должен быть один тип, а города должны быть терминами таксономии.

    Если так будет, то получится следующее: если посетитель видит Московский материал (интересен только жителям Москвы), то рядом в блоке с последними оставленными комментариями будут выводиться комментарии и к материалам для остальных городов. Но зачем Москвичу видеть комментарии для Санкт-Петербурга и остальных городов? Зачем Москвичу видеть в блоке последних добавленных материалов материалы для Новосибирска? Московский материал должны окружать только ссылки для Московских материалов. Для Екатеринбургских — ссылки на Екатеринбургские, и т.п.

    она у ваших типов записи moscow всегда одна и та же — accessories. зачем вам ее кодом получать

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

    <?php
    сначала получить в переменную текущий тип записи
    wp_list_categories('taxonomy=ВЫВЕСТИ ЕГО ТУТ ИЛИ В ARRAY); ?>

    Таким образом категории для каждого типа записи везде будут свои.

    но сама таксономия то зачем? она у вас везде одинаковая

    Таксономий много. Городов много. Каждый город — это свой произвольный тип записи. Тот код из functions.php — таких кодов регистраций в этом файле много, а не один. Соответственно произвольных типов записи много. У каждого города свои таксономии (по типу меток и категорий). Сайт полностью разбит по разным городам.
    Нужно чтобы один код мог быть для множества, например, сингл шаблонов, шаблонов с архивами. Но этот код подгружается через <?php get_template_part( 'code' ); ?>

    Вывожу весь код. Обратите внимание на последние строки. Там есть слово accessories. Его само и нужно вывести в переменную.

    add_action('init', 'moscow');
    function moscow()
    {
      $labels = array(
        'name' => 'Москва',
        'singular_name' => 'Москва',
        'add_new' => 'Добавить запись Москва',
        'add_new_item' => 'Добавить запись Москва',
        'edit_item' => 'Редактировать запись Москва',
        'new_item' => 'Новая запись Москва',
        'view_item' => 'Посмотреть запись Москва',
        'search_items' => 'Найти запись Москва',
        'not_found' =>  'Записей Москва не найдено',
        'not_found_in_trash' => 'В корзине записей Москва не найдено',
        'parent_item_colon' => '',
        'menu_name' => 'Москва'
      );
    
      $args = array(
        'labels' => $labels,
        'public' => true,
        'publicly_queryable' => true,
        'show_ui' => true,
        'show_in_menu' => true,
        'query_var' => true,
        'rewrite' => true,
        'capability_type' => 'post',
        'has_archive' => true,
        'hierarchical' => false,
        'menu_position' => 5,
        'supports' => array('title','editor', 'comments','custom-fields'),
    	'taxonomies' => array('accessories')
      );
      register_post_type('moscow',$args);  
    }

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

    Это нужно чтобы разделить всю информацию сайта на части, на города. Полностью.
    Например, чтобы посетители из Москвы видели последние комментарии, материалы, категории, теги только для своего города. И соответственно посетителям из других городов выдавались данные только для своего города. То есть один единственный код можно вставить в шаблоны разных произвольных типов постов и везде выводилась бы своя информация. Если материал принадлежит Москве, то посетитель на сингл странице может увидеть, например, последние комментарии, оставленные для других постов Москвы.

    Слово accessories в functions.php встречается лишь дважды, вот второй раз:
    register_taxonomy('accessories', array('moscow'), array(
    И вот это как раз регистрация таксономий (по типу категорий), а код в первом моем сообщении это регистрация произвольного типа постов. Я так понимаю. accessories — его нужно вывести.

    В общем, вопрос остается открытым.

    • Ответ изменён 6 лет, 1 месяц назад пользователем DirtyDan.

    Спасибо! У меня получилось вообще без кавычек и через array:

    $args = array(
    'post_type'   => $peremennaya,

    Отлично! Спасибо! Получился рабочий код для всех страниц. Оставляю его ниже. Может кому-то пригодится Итак, вот как вывести на всех страницах параметр register.

    <?php
        $post_type = get_post_type( $post_id );
        echo $post_type;
    ?>

    Да, перепутал названия. Именно его и надо вывести. Он находится в functions.php

    `register_post_type(‘ВОТ_ЭТО_НАЗВАНИЕ_НАДО_ВЫВЕСТИ’,$args);

    Как же его получить?

    Как формируется заявка на почту? Через что именно?

    Второй вариант гораздо сложнее и дольше если начинаете с нуля и раньше не работали в Вордпресс. Я бы порекомендовал первый вариант — готовый шаблон. По крайней мере думаю стоит начать с этого и уже в процессе вы сможете посмотреть как все устроено изнутри. Тем более любую готовую тему Вордпресса можно относительно легко переделать под свои нужды.

    Бесплатные шаблоны Вордпресс:

    Темы

Просмотр 15 ответов — с 16 по 30 (всего 69)