Перейти к содержимому


Конкурс "Лучший отзовик"
× Быстрый вопрос
Пользователь месяца
ShowPrint ShowPrint 1-й за Март
Очков активности: 1 152 1 тема, 61 сообщение, 12 баллов репутации
Сайт: ShowPrint.ru
ТОП самых активных за этот месяц
  • Фотография Андрей WPMasterKZ
    #1

    Андрей WPMasterKZ (wpmaster.kz)
    Очков активности: 525 Вне конкурса за определение пользователя месяца

  • Фотография Vmir
    #2

    Vmir
    Очков активности: 396 3 темы, 24 сообщения, 8 баллов репутации

  • Фотография OlgaGetman
    #3

    OlgaGetman
    Очков активности: 351 Вне конкурса за определение пользователя месяца

  • Фотография ShowPrint
    #4

    ShowPrint (ShowPrint.ru)
    Очков активности: 204 Вне конкурса за определение пользователя месяца

  • Фотография Mandarin
    #5

    Mandarin
    Очков активности: 76.5 2 темы, 11 сообщений, 3 балла репутации

  • Фотография maxnik
    #6

    maxnik (konovalovpavel.ru)
    Очков активности: 66 1 тема, 19 сообщений, 2 балла репутации

  • Фотография re-search
    #7

    re-search
    Очков активности: 49.5 7 тем, 12 сообщений, 1 балл репутации

  • Фотография Strazh
    #8

    Strazh
    Очков активности: 37.5 1 тема, 22 сообщения, 1 балл репутации

  • Фотография pozitron123
    #9

    pozitron123
    Очков активности: 36 2 темы, 6 сообщений, 2 балла репутации

  • Фотография Constantine
    #10

    Constantine
    Очков активности: 33 3 темы, 13 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 27.03.2019
  • Яндекс выдача: 18.04.2019
Топ 5 участников по репутации


Как убрать символы по краям

#1 Punko

Punko
  • Неактивные
  • 6 сообщений
  • Репутация: 0
0

Отправлено 23 Август 2017 - 09:01

Всем привет! Нужна помощь, есть код с помощью которого выводятся рубрики на сайте например рубрика 1, рубрика 2, после второй рубрики присутствует запятая вот мне её и нужно убрать (убрать символы по краям) Если кто разбирается в программировании подредактируйте пожалуйста код! Собственно сам код:

$categories = get_the_category($post_id);
foreach($categories as $category) {
if( !in_array( $category->term_id, array(63,68,65,66,64,67) ) ){ // проверяем, что это не категории с id1, id2, id3
echo '<a href="'. get_category_link($category->term_id) . '">' . $category->cat_name . '</a>, ';

 

 

  • 0

#2 timkab

timkab
  • Пользователь
  • 441 сообщений
  • Репутация: 82

Отправлено 23 Август 2017 - 09:27

 $category->cat_name . '</a>, ';    - кажись вот тут, после закрывающегося тега </a> на данный момент сколько категорий, всего 2 отображается? 


  • 0

#3 Punko

Punko
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 23 Август 2017 - 09:51

@timkab, Нет это запятая там и должна быть если её убрать то её вообще не будет, количество категорий выводиться по разному где одна где две, смысл в том что если две то запятая нужна только после первой, а после второй нет, также она выводиться если и одна категория.


  • 0

#4 miketomlin

miketomlin
  • Пользователь
  • 515 сообщений
  • Репутация: 109

Отправлено 23 Август 2017 - 10:24

Вы правы, но по вашему алгоритму запятая будет появляться и в конце. Если в лоб, можете в вашем цикле сформировать массив ссылок, а потом вывести как-то так: echo implode(', ',$links);

 

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


  • 0


#5 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3 315 сообщений
  • Репутация: 928

Отправлено 23 Август 2017 - 10:31

Также можно первую (т.с. обязательную, чтобы не было пустого списка) ссылку вывести перед циклом, а в цикле уже размещать разделитель ', ' перед формируемой ссылкой, а не после.
Хороший вариант, логичный...

 

@Punko, можете попробовать в 4-ю строку сделать вот такой:

echo '<a href="'. get_category_link($category->term_id) . '">' . $category->cat_name . '</a>'.
($category==$categories[count($categories)-1]?'':', '); 

вдруг заработает (поправлял "на коленках", не проверяя работоспособность)  :)


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#6 Punko

Punko
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 23 Август 2017 - 10:42

@ShowPrint, Хорошо, попробую отпишусь.
  • 0

#7 miketomlin

miketomlin
  • Пользователь
  • 515 сообщений
  • Репутация: 109

Отправлено 23 Август 2017 - 11:00

В данном случае лучше не использовать сравнение объектов. Можно попробовать сравнивать индекс (с count-1) или использовать оператор идентичности (===).


  • 0


#8 ShowPrint

ShowPrint
  • Пользователь PRO
  • 3 315 сообщений
  • Репутация: 928

Отправлено 23 Август 2017 - 11:22

@Punko, поставьте вместо двух равно (==) - три знака равенства (===). @miketomlin, плохого никогда не посоветует! )))


  • 0
MasterWEBS: третий дом - моё хобби и увлечение... Второй дом: работа - не меньше 12 часов в день...
Первый дом - под охраной: "Осторожно - злая жена!" (дрессировалась долго и надёжно) /*ссылку не просите - не дам!*/


#9 Punko

Punko
    Topic Starter
  • Неактивные
  • 6 сообщений
  • Репутация: 0

Отправлено 24 Август 2017 - 03:08

Проверил сейчас нормально, спасибо за помощь!


  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Похожие темы

  Название темы Автор Статистика Последнее сообщение

Оформление форума – IPBSkins.ru