Wp post meta list (WP-CLI)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

wp post meta list: Verkrijg een lijst met alle meta-velden van een post:

  • Wil je in detail zien wat er in een specifiek metaveld zit? Gebruik dan wp post meta get
  • Het lijkt niet mogelijk te zijn om alle waardes van een bepaald meta-veld te zien, ongeacht het ID. Daar kan in SQL weer heel gemakkelijk, bv.: sql_string='select * from wp_termmeta where meta_key = "product_category_text";'; wp db query "$sql_string"
$ wp help post meta list

NAME

  wp post meta list

DESCRIPTION

  List all metadata associated with an object.

SYNOPSIS

  wp post meta list <id> [--keys=<keys>] [--fields=<fields>] [--format=<format>] [--orderby=<fields>]
  [--order=<order>] [--unserialize]

OPTIONS

  <id>
    ID for the object.

  [--keys=<keys>]
    Limit output to metadata of specific keys.

  [--fields=<fields>]
    Limit the output to specific row fields. Defaults to id,meta_key,meta_value.

  [--format=<format>]
    Render output in a particular format.
    ---
    default: table
    options:
      - table
      - csv
      - json
      - yaml
      - count
    ---

  [--orderby=<fields>]
    Set orderby which field.
    ---
    default: id
    options:
     - id
     - meta_key
     - meta_value
    ---

  [--order=<order>]
    Set ascending or descending order.
    ---
    default: asc
    options:
     - asc
     - desc
    ---

 [--unserialize]
    Unserialize meta_value output.

Voorbeeld (1)

Handjevol velden van een home page met 1.308 meta-objecten (hoe ik dat weet? wp post meta list 7 | wc -l):

wp post meta list 7

+---------+----------------------------------------------------+-----------------------------------------------------+
| post_id | meta_key                                           | meta_value                                          |
+---------+----------------------------------------------------+-----------------------------------------------------+
| 7       | _edit_last                                         | 9                                                   |
| 7       | _wp_page_template                                  | templates/page-home2021.php                         |
| 7       | _edit_lock                                         | 1627579027:4                                        |
| 7       | hero_background                                    | 55538                                               |
| 7       | _hero_background                                   | field_5d4d3c8072ecc                                 |
| 7       | hero_text                                          | <!-- First version - Until 2020.09.25 <h2>blah</h2> |                                |
| 7       | _hero_text                                         | field_5d4d3c8f72ecd                                 |
| 7       | hero_ctas_0_link                                   | a:3:{s:5:"title";s:24:"Bekijk alle widgets";s:      |
+---------+----------------------------------------------------+-----------------------------------------------------+

Voorbeeld (2)

Alleen de velden meta_key en meta_value en alleen als ergens het woord shop voorkomt. En schrijf dit naar een bestand (als het om veel informatie gaat, vind ik tekstbestanden een stuk handiger dan de output in een terminal):

wp post meta list 51114 --fields=meta_key,meta_value | grep shop > tmp.txt

Voorbeeld (3): --keys

Met --keys beperk je output tot geselecteerde meta-keys:

$ wp post meta list 7 --keys=buttonbars_3_buttonbar_selection_10_title

+---------+-------------------------------------------+-----------------+
| post_id | meta_key                                  | meta_value      |
+---------+-------------------------------------------+-----------------+
| 7       | buttonbars_3_buttonbar_selection_10_title | Groter dan 10mm |
+---------+-------------------------------------------+-----------------+

Zie ook