Skip to content

Conversation

Copy link

Copilot AI commented Nov 10, 2025

WordPress 6.9 introduces notes—comments with comment_type='note' for asynchronous collaboration on blocks. Notes use _wp_note_status metadata for resolution tracking. Existing commands already support notes, but lack documentation and test coverage.

Changes

Documentation (src/Comment_Command.php)

Added 7 examples showing notes workflow:

  • Class docblock: Create, list, reply, resolve, and reopen notes
  • create() method: Creating notes with --comment_type='note'
  • list() method: Filtering notes with --type=note --post_id=<id>
# Create a note
$ wp comment create --comment_post_ID=15 --comment_content="Needs revision" --comment_author="editor" --comment_type="note"

# List notes for a post
$ wp comment list --type=note --post_id=15

# Resolve a note
$ wp comment create --comment_post_ID=15 --comment_type="note" --comment_parent=945 --porcelain
947
$ wp comment meta add 947 _wp_note_status resolved

Tests (features/comment-notes.feature)

7 scenarios with @require-wp-6.9:

  • Creating and listing notes
  • Notes hidden from default comment list
  • Parent-child note relationships
  • Resolve/reopen workflow with _wp_note_status metadata
  • Multi-post note filtering

All examples marked "(WordPress 6.9+)" for version clarity.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • https://api.github.com/repos/Behat/Behat/zipball/1b6b08efa995fe4135901b862d112adc7e95ecbb
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/Behat/Gherkin/zipball/05a7459283e8e6af0d46ec25b8bb5960ca3cfa7b
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/8e89a01c7b8fed84a12a2a7f5a23a44cdbe4f62e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/8b8e17615d04f2fc2cd46fc1d2fd888fa21b3cf9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/0ca86845ce43291e8f5692c7356fccf3bcf02bf4
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/e9cf5e4bbf7eeaf9ef5db34938942602838fc2b1
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/ff4efdd80e094a81fd6329b570c9a632f21d42b4
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/134921bfca9b02d8f374c48381451da1d98402f9
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/composer/semver/zipball/198166618906cb2de69b95d7d47e5fa8aa1b2b95
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-parallel-lint/PHP-Console-Highlighter/zipball/5b4803384d3303cf8e84141039ef56c8a123138d
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6db563514f27e19595a19f45a4bf757b6401194e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/phpstan/extension-installer/zipball/85e90b3942d06b2326fba0403ec24fe912372936
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/f94d246cc143ec5a23da868f8f7e1393b50eaa82
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/72a6721c9b64b3e4c9db55abbc38f790b318267e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/b564ca479e7e735f750aaac4935af965572a7845
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/phpstan/phpstan/zipball/2770dcdf5078d0b0d53f94317e06affe88419aa8
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a94ea4d26d865875803b23aaf78c3c2c670ea2ea
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/console/zipball/c28ad91448f86c5f6d9d2c70f0cf68bf135f252a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/dependency-injection/zipball/98af8bb46c56aedd9dd5a7f0414fc72bf2dcfe69
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/finder/zipball/9f696d2f1e340484b4683f7853b273abff94421f
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/translation/zipball/ec25870502d0c7072d086e8ffba1420c85965174
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/var-exporter/zipball/0f020b544a30a7fe8ba972e53ee48a74c0bc87f4
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/symfony/yaml/zipball/90208e2fc6f68f613eae7ca25a2458a931b1bacc
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/cache-command/zipball/14f76b0bc8f9fa0a680e9c70e18fcf627774d055
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/db-command/zipball/c5277fe0335ea00c77b2790f2a892a692dfdf73c
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/extension-command/zipball/cf68e1f3244a0a9557dd8cf4cc9fb03779b14678
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/media-command/zipball/a810ea0e68473fce6a234e67c6c5f19bb820a753
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/php-cli-tools/zipball/f12b650d3738e471baed6dd47982d53c5c0ab1c3
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/spyc/zipball/6aa0b4da69ce9e9a2c8402dab8d43cf32c581cc7
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/super-admin-command/zipball/54ac063c384743ee414806d42cb8c61c6aa1fa8e
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/wp-cli-tests/zipball/75b660dddaa9f512d104d93da4a0a3ede1183a93
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)
  • https://api.github.com/repos/wp-cli/wp-cli/zipball/ee4fb67b12eb904527bde1c4a0a4d6538a14681a
    • Triggering command: /usr/bin/php8.3 -n -c /tmp/opCpEz /usr/bin/composer install --no-interaction (http block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Notes support</issue_title>
<issue_description>WordPress 6.9 introduces a notes feature, which are comments that can be attached to individual blocks. This enables asynchronous collaboration and more efficient editorial workflows.

Under the hood they're indeed just like comments, with the custom "note" comment type.

There's some logic in core so that notes aren't shown by default when you run wp comment list, but you can get notes for a specific post using wp comment list --type=note --post_id=<id>

Replies to a note have its ID as the parent.

"Resolving" a note is done by adding another "comment" with _wp_note_status meta being set to resolved, parent ID is also set. Reopening will add one with reopen. A regular note doesn't have that comment meta.

It might be worth adding some Behat tests to cover this (using @require-wp-6.9), as well as adding some examples to the comment command docblocks specifically for notes, so that people can more easily discover how to manage them with WP-CLI.
</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Co-authored-by: swissspidy <841956+swissspidy@users.noreply.github.com>
Copilot AI changed the title [WIP] Add notes support for WordPress 6.9 features Add notes support documentation and tests for WordPress 6.9+ Nov 10, 2025
Copilot AI requested a review from swissspidy November 10, 2025 11:37
Copilot finished work on behalf of swissspidy November 10, 2025 11:37
@codecov
Copy link

codecov bot commented Nov 10, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@swissspidy swissspidy marked this pull request as ready for review November 10, 2025 15:04
@swissspidy swissspidy requested a review from a team as a code owner November 10, 2025 15:04
@swissspidy swissspidy added this to the 2.9.0 milestone Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Notes support

2 participants