Как я могу изменить этот WordPress PHP для вывода в массив? - PullRequest
0 голосов
/ 26 октября 2010
<?php
$parent_cat = 57;
$child_cats = get_categories('child_of='.$parent_cat);
if($child_cats) :
  echo '{ ';
    foreach($child_cats as $cat) {
    echo $sep . $cat->cat_name;
    $sep = ', ';
    }
  echo ' }';
endif;
?>

Приведенный выше код выводит количество категорий в этом формате:

A Cut Above, A20Labs, AMCH,

Как бы я добавил '' вокруг каждого элемента для вывода, как это?

'A Cut Above', 'A20Labs', 'AMCH',

2-й вопрос, как бы я закодировал его так, чтобы вывод перешел в этот код массива следующим образом?

<?php $type_array = array('A Cut Above','A20Labs','AMCH',)?>

Большое спасибо! Азим

Ответы [ 2 ]

2 голосов
/ 26 октября 2010

Для вашего первого вопроса измените echo $sep . $cat->cat_name; на echo $sep . '\''.$cat->cat_name.'\'';

Это изменит его на вывод имени с одинарными кавычками вокруг них.

Чтобы вернуть массив, попробуйте:

<?php
$parent_cat = 57;
$child_cats = get_categories('child_of='.$parent_cat);
$type_array = array();
if($child_cats) :
    foreach($child_cats as $cat) {
    $type_array[] = $cat->cat_name;
    }
endif;
?>

Это поместит имена в новый массив вместо их отображения.

0 голосов
/ 27 октября 2010

Вы можете получить нужный массив с гораздо меньшим количеством работы:

<?php

$child_cats = get_categories(array(
  'child_of' => $parent_cat,
  'fields' => 'names'
));

?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...