Wordpress PHP Массив, как получить значение - PullRequest
0 голосов
/ 06 августа 2020

У меня есть сайт Wordpress, и я использую плагин Advanced custom fields. Итак, я создал тип сообщения о событии, и одно из полей - это поле отношений, которое связано с местом, где будет проходить мероприятие. В поле выводится объект, и у меня есть следующий код:

<code>   <?php 
   $venue = get_field_object('event_venue'); 
   print("<pre>".print_r($venue,true)."
");?>

, который выводит на печать следующее

Array
(
    [ID] => 437
    [key] => field_5f2a55020b621
    [label] => Venue
    [name] => event_venue
    [prefix] => acf
    [type] => relationship
    [value] => Array
        (
            [0] => WP_Post Object
                (
                    [ID] => 216
                    [post_author] => 1
                    [post_date] => 2020-06-19 09:53:06
                    [post_date_gmt] => 2020-06-19 09:53:06
                    [post_content] => 
                    [post_title] => test venue
                    [post_excerpt] => 
                    [post_status] => publish
                    [comment_status] => closed
                    [ping_status] => closed
                    [post_password] => 
                    [post_name] => test-venue
                    [to_ping] => 
                    [pinged] => 
                    [post_modified] => 2020-06-19 09:53:06
                    [post_modified_gmt] => 2020-06-19 09:53:06
                    [post_content_filtered] => 
                    [post_parent] => 0
                    [guid] => http://localhost/threedir/?post_type=venue&p=216
                    [menu_order] => 0
                    [post_type] => venue
                    [post_mime_type] => 
                    [comment_count] => 0
                    [filter] => raw
                )

        )

    [menu_order] => 7
    [instructions] => 
    [required] => 1
    [id] => 
    [class] => 
    [conditional_logic] => 0
    [parent] => 203
    [wrapper] => Array
        (
            [width] => 
            [class] => 
            [id] => 
        )

    [post_type] => Array
        (
            [0] => venue
        )

    [taxonomy] => 
    [filters] => Array
        (
            [0] => search
        )

    [elements] => 
    [min] => 
    [max] => 
    [return_format] => object
    [_name] => event_venue
    [_valid] => 1
)

Как напечатать только заголовок сообщения, который находится внутри массива значений?

Потому что, если я сделаю

print($venue['value']["post_title"]);

, я получу

Notice: Undefined index: post_title

1 Ответ

1 голос
/ 06 августа 2020

Вы можете получить к нему доступ с помощью

$venue['value'][0]->post_title;

, потому что $venue['value'] - это массив, первый элемент которого содержит объект. Доступ к свойствам объектов осуществляется с помощью стрелки.

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