at path:
ROOT
/
wp-content
/
plugins
/
woocommerce
/
src
/
Admin
/
API
/
NoteActions.php
run:
R
W
Run
AI
DIR
2026-04-15 05:42:45
R
W
Run
Reports
DIR
2026-04-15 05:42:45
R
W
Run
Templates
DIR
2026-04-15 05:42:45
R
W
Run
AnalyticsImports.php
9.09 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Coupons.php
2.15 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
CustomAttributeTraits.php
3.4 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Customers.php
2.11 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Data.php
939 By
2026-04-15 05:42:45
R
W
Run
Delete
Rename
DataCountries.php
1.12 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
DataDownloadIPs.php
4.15 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Experiments.php
1.82 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Features.php
1.7 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Init.php
10.57 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
LaunchYourStore.php
5.15 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Leaderboards.php
18.22 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Marketing.php
4.84 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
MarketingCampaignTypes.php
6.02 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
MarketingCampaigns.php
9.64 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
MarketingChannels.php
5.74 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
MarketingOverview.php
3.36 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
MarketingRecommendations.php
5.94 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
MobileAppMagicLink.php
2.1 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
NoteActions.php
2.39 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Notes.php
25.32 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Notice.php
2.38 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
OnboardingFreeExtensions.php
2.58 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
OnboardingPlugins.php
10.66 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
OnboardingProductTypes.php
1.8 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
OnboardingProducts.php
1.94 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
OnboardingProfile.php
18.38 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
OnboardingTasks.php
32.02 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
OnboardingThemes.php
5.49 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Options.php
10 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Orders.php
10.13 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
PaymentGatewaySuggestions.php
5.86 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Plugins.php
21.22 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ProductAttributeTerms.php
4.36 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ProductAttributes.php
4.46 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ProductCategories.php
458 By
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ProductForm.php
3.06 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ProductReviews.php
1.3 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ProductVariations.php
6.03 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Products.php
9.73 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ProductsLowInStock.php
17.62 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
SettingOptions.php
878 By
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Settings.php
4.2 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
ShippingPartnerSuggestions.php
6.09 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Taxes.php
4.9 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
Themes.php
6.12 KB
2026-04-15 05:42:45
R
W
Run
Delete
Rename
error_log
up
📄
NoteActions.php
Save
<?php /** * REST API Admin Note Action controller * * Handles requests to the admin note action endpoint. */ namespace Automattic\WooCommerce\Admin\API; defined( 'ABSPATH' ) || exit; use Automattic\WooCommerce\Admin\Notes\Note; use Automattic\WooCommerce\Admin\Notes\Notes as NotesFactory; /** * REST API Admin Note Action controller class. * * @internal * @extends WC_REST_CRUD_Controller */ class NoteActions extends Notes { /** * Register the routes for admin notes. */ public function register_routes() { register_rest_route( $this->namespace, '/' . $this->rest_base . '/(?P<note_id>[\d-]+)/action/(?P<action_id>[\d-]+)', array( 'args' => array( 'note_id' => array( 'description' => __( 'Unique ID for the Note.', 'woocommerce' ), 'type' => 'integer', ), 'action_id' => array( 'description' => __( 'Unique ID for the Note Action.', 'woocommerce' ), 'type' => 'integer', ), ), array( 'methods' => \WP_REST_Server::EDITABLE, 'callback' => array( $this, 'trigger_note_action' ), // @todo - double check these permissions for taking note actions. 'permission_callback' => array( $this, 'get_item_permissions_check' ), ), 'schema' => array( $this, 'get_public_item_schema' ), ) ); } /** * Trigger a note action. * * @param WP_REST_Request $request Full details about the request. * @return WP_REST_Request|WP_Error */ public function trigger_note_action( $request ) { $note = NotesFactory::get_note( $request->get_param( 'note_id' ) ); if ( ! $note ) { return new \WP_Error( 'woocommerce_note_invalid_id', __( 'Sorry, there is no resource with that ID.', 'woocommerce' ), array( 'status' => 404 ) ); } $note->set_is_read( true ); $note->save(); $triggered_action = NotesFactory::get_action_by_id( $note, $request->get_param( 'action_id' ) ); if ( ! $triggered_action ) { return new \WP_Error( 'woocommerce_note_action_invalid_id', __( 'Sorry, there is no resource with that ID.', 'woocommerce' ), array( 'status' => 404 ) ); } $triggered_note = NotesFactory::trigger_note_action( $note, $triggered_action ); $data = $triggered_note->get_data(); $data = $this->prepare_item_for_response( $data, $request ); $data = $this->prepare_response_for_collection( $data ); return rest_ensure_response( $data ); } }