how to parse wordpress post_meta table values

2019-03-13 07:17发布

问题:

I have to parse wordpress post_meta table , particularly "_wp_attachment_metadata" field

For example:

Its value is for a post id = 99

> a:6:{s:5:"width";s:3:"238";s:6:"height";s:3:"179";s:14:"hwstring_small";s:23:"height='96'
> width='128'";s:4:"file";s:21:"2010/11/matt-lane.jpg";s:5:"sizes";a:1:{s:9:"thumbnail";a:3:{s:4:"file";s:21:"matt-lane-150x150.jpg";s:5:"width";s:3:"150";s:6:"height";s:3:"150";}}s:10:"image_meta";a:10:{s:8:"aperture";s:1:"0";s:6:"credit";s:0:"";s:6:"camera";s:0:"";s:7:"caption";s:0:"";s:17:"created_timestamp";s:1:"0";s:9:"copyright";s:0:"";s:12:"focal_length";s:1:"0";s:3:"iso";s:1:"0";s:13:"shutter_speed";s:1:"0";s:5:"title";s:0:"";}}

I didnt understand how it is compiled or how it can be parsed outside wordpress. The thing i si have to load the latest articles with all the data sets of post on magento platform from wordpress.

please help me to parse this data to get the images src's.

Thanks in advance

回答1:

Try:

$a = unserialize("");
print_r($a);

http://php.net/manual/en/function.unserialize.php



回答2:

What I understand is:

There are two types of variables, for example:

  1. a:6:
  2. s:3:

a = array and 6 is the dimension of the array
s = string and 3 is the length of the string



回答3:

Thanks a lot for Craig quick answer.

Used the unserialize method and got everything from the string.

Array
(
    [width] => 523
    [height] => 523
    [hwstring_small] => height='96' width='96'
    [file] => 2010/11/tee1.jpg
    [sizes] => Array
        (
            [thumbnail] => Array
                (
                    [file] => tee1-150x150.jpg
                    [width] => 150
                    [height] => 150
                )

            [medium] => Array
                (
                    [file] => tee1-300x300.jpg
                    [width] => 300
                    [height] => 300
                )

            [post-thumbnail] => Array
                (
                    [file] => tee1-523x198.jpg
                    [width] => 523
                    [height] => 198
                )

        )

    [image_meta] => Array
        (
            [aperture] => 0
            [credit] => 
            [camera] => 
            [caption] => 
            [created_timestamp] => 0
            [copyright] => 
            [focal_length] => 0
            [iso] => 0
            [shutter_speed] => 0
            [title] => 
        )

)

Here is the output, now can take any image from the wordpress post meta_data