Wp wc shop order list

Uit De Vliegende Brigade
Versie door Jeroen Strompf (overleg | bijdragen) op 25 aug 2022 om 23:03 (Nieuwe pagina aangemaakt met 'Toon alle orders. <pre> NAME wp wc shop_order list DESCRIPTION List all items. SYNOPSIS wp wc shop_order list [--context=<context>] [--page=<page>] [--...')
(wijz) ← Oudere versie | Huidige versie (wijz) | Nieuwere versie → (wijz)
Naar navigatie springen Naar zoeken springen

Toon alle orders.

NAME

  wp wc shop_order list

DESCRIPTION

  List all items.

SYNOPSIS

  wp wc shop_order list [--context=<context>] [--page=<page>] [--per_page=<per_page>] [--search=<search>]
  [--after=<after>] [--before=<before>] [--dates_are_gmt=<dates_are_gmt>] [--exclude=<exclude>] [--include=<include>]
  [--offset=<offset>] [--order=<order>] [--orderby=<orderby>] [--parent=<parent>] [--parent_exclude=<parent_exclude>]
  [--status=<status>] [--customer=<customer>] [--product=<product>] [--dp=<dp>] [--fields=<fields>] [--field=<field>]
  [--format=<format>]

OPTIONS

  [--context=<context>]
    Scope under which the request is made; determines fields present in response.

  [--page=<page>]
    Current page of the collection.

  [--per_page=<per_page>]
    Maximum number of items to be returned in result set.

  [--search=<search>]
    Limit results to those matching a string.

  [--after=<after>]
    Limit response to resources published after a given ISO8601 compliant date.

  [--before=<before>]
    Limit response to resources published before a given ISO8601 compliant date.

  [--dates_are_gmt=<dates_are_gmt>]
    Whether to use GMT post dates.

  [--exclude=<exclude>]
    Ensure result set excludes specific IDs.

  [--include=<include>]
    Limit result set to specific ids.

  [--offset=<offset>]
    Offset the result set by a specific number of items.

  [--order=<order>]
    Order sort attribute ascending or descending.

  [--orderby=<orderby>]
    Sort collection by object attribute.

  [--parent=<parent>]
    Limit result set to those of particular parent IDs.

  [--parent_exclude=<parent_exclude>]
    Limit result set to all items except those of a particular parent ID.

  [--status=<status>]
    Limit result set to orders assigned a specific status.

  [--customer=<customer>]
    Limit result set to orders assigned a specific customer.

  [--product=<product>]
    Limit result set to orders assigned a specific product.

  [--dp=<dp>]
    Number of decimal points to use in each resource.

  [--fields=<fields>]
    Limit response to specific fields. Defaults to all fields.

  [--field=<field>]
    Get the value of an individual field.

  [--format=<format>]
    Render response in a particular format.
    ---
    default: table
    options:
      - table
      - json
      - csv
      - ids
      - yaml
      - count
      - headers
      - body
      - envelope
    ---

User ID

Ik moest een ID oid. van een admin-account meegeven. Voorbeelden:

wp wc shop_order list --user=4
wp wc shop_order list --user=info@example.com

Om alleen de order-id's op te vragen:

wp wc shop_order list --user=4 --field=id

Max. 100 orders

Dit commando geeft maximaal 100 orders weer. Met de paramater --per_page kun je dit getal verlagen, maar niet verhogen:

wp wc shop_order list --user=4 --field=id --per_page=100000

Error: Invalid parameter(s): per_page {"status":400,"params":{"per_page":"per_page must be between 1 (inclusive) and 100 (inclusive)"},"details":{"per_page":{"code":"rest_out_of_bounds","message":"per_page must be between 1 (inclusive) and 100 (inclusive)","data":null}}}

Oplossing: Dit commando meerdere keren herhalen. Bv. 68 keer in dit geval (30 juli 2021) om 6.771 orders te verwijderen ;). Daar is vast een slimme dynamische loop voor beschikbaar, maar ik houd het op simpelweg herhalen van het commando:

for i in {1..70}
do
  wp wc shop_order list --user=4 --field=id | xargs -n1 wp wc shop_order delete --user=4 --force=1
done