{"id":958,"date":"2026-10-18T13:19:31","date_gmt":"2026-10-18T13:19:31","guid":{"rendered":"http:\/\/plugin-docs.com\/?post_type=doc&#038;p=958"},"modified":"2026-10-18T17:11:24","modified_gmt":"2026-10-18T17:11:24","slug":"wordpress-post-content-actions","status":"publish","type":"doc","link":"https:\/\/dragwyb.com\/docs\/wordpress-post-content-actions\/","title":{"rendered":"WordPress Post and Content Actions"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This group contains <strong>28 post and content-related actions<\/strong> in the supplied plugin source. It includes tools to look up posts, read content and metadata, create or update posts, manage comments, and inspect or register post types. Each action has a different purpose, so use the explanation below to choose the right one.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Screenshot to add: [Workflow editor WordPress post and content actions with configuration fields]<\/p>\n\n\n<h2 class=\"wp-block-heading\">Find and read posts<\/h2>\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Get Post (All)<\/strong> \u2014 returns a limited list of posts. Use <strong>Post Type<\/strong> or <strong>Post Status<\/strong> to narrow the results and <strong>Search<\/strong> to find matching text. The default limit is 50 and the maximum is 200; list content is shortened, so use a single-post lookup for full content.<\/li>\n\n\n<li><strong>Get Post (Single)<\/strong> \u2014 retrieves one post using its <strong>Post ID<\/strong>, including full content and language\/translation information when available. Use this when a previous step already identified the post.<\/li>\n\n\n<li><strong>Get Posts By Post Type<\/strong> \u2014 lists posts of a chosen type, such as posts, pages, or a registered custom post type. Provide <strong>Post Type<\/strong>; use <strong>Limit<\/strong> to control how many records are returned.<\/li>\n\n\n<li><strong>Get Posts by Metadata<\/strong> \u2014 finds posts of a selected type whose metadata key matches a value. Provide <strong>Post Type<\/strong>, <strong>Meta Key<\/strong>, and <strong>Meta Value<\/strong>. Use this when a plugin stores a searchable custom value on posts.<\/li>\n\n\n<li><strong>Get Post Metadata (All)<\/strong> \u2014 returns the metadata entries attached to a post. Provide the <strong>Post ID<\/strong>. The current WordPress user must have the relevant <code>edit_post<\/code> capability for that post.<\/li>\n\n\n<li><strong>Get Post Metadata (Single)<\/strong> \u2014 returns one metadata value by its key. Provide <strong>Post ID<\/strong> and <strong>Meta Key<\/strong>; the relevant <code>edit_post<\/code> capability is required on the target post.<\/li>\n\n\n<li><strong>Get Post Permalink<\/strong> \u2014 returns the post&#8217;s URL. Provide the <strong>Post ID<\/strong> when a later step needs to share or store the link.<\/li>\n\n\n<li><strong>Get Post Content<\/strong> \u2014 returns the post&#8217;s raw content. Provide the <strong>Post ID<\/strong>; use this when a later step needs the body rather than just the title or URL.<\/li>\n\n\n<li><strong>Get Post Excerpt<\/strong> \u2014 returns the excerpt for a post. Provide the <strong>Post ID<\/strong>. An excerpt is a short summary and is different from the full post content.<\/li>\n\n\n<li><strong>Get Post Status<\/strong> \u2014 checks whether a post is draft, published, pending review, private, scheduled, or another status. Provide the <strong>Post ID<\/strong> before using the result in a condition or later action.<\/li>\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\">Create, update, or remove posts<\/h2>\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Create New Post<\/strong> \u2014 creates a post or page. <strong>Title<\/strong> and <strong>Content<\/strong> are the main inputs. You can also set the <strong>Post Type<\/strong>, <strong>Post Status<\/strong>, <strong>Slug<\/strong>, excerpt, author, parent, categories, tags, custom taxonomy terms, custom fields, password, date, and featured image. Use <strong>Design sections (JSON)<\/strong> for supported structured layouts or provide Gutenberg block markup in content when appropriate. Check the status carefully before publishing.<\/li>\n\n\n<li><strong>Update Post<\/strong> \u2014 changes an existing post. Provide the <strong>Post ID<\/strong> and only the fields you want to update, such as title, content, status, excerpt, categories, tags, custom fields, or featured image. Review every supplied field because these values can overwrite existing content.<\/li>\n\n\n<li><strong>Update Post Status<\/strong> \u2014 changes only the status of an existing post. Provide <strong>Post ID<\/strong> and <strong>Post Status<\/strong>. Publishing also requires the appropriate publishing capability; use this action when you do not need to change the title or body.<\/li>\n\n\n<li><strong>Delete Post<\/strong> \u2014 trashes or deletes a post. Provide the <strong>Post ID<\/strong>. The <strong>Force Delete<\/strong> option skips the trash, so leave it off unless permanent deletion is intentional and approved.<\/li>\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\">Read and manage comments<\/h2>\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Get Post Comments (All)<\/strong> \u2014 retrieves comments across the site. Use it for broad comment reporting; expect a larger result than a post-specific lookup.<\/li>\n\n\n<li><strong>Get Post Comments (Single Post)<\/strong> \u2014 retrieves comments attached to a specific post. Provide the <strong>Post ID<\/strong> to keep the results focused.<\/li>\n\n\n<li><strong>Get User Comments<\/strong> \u2014 retrieves comments written by a registered user. Provide the <strong>User ID<\/strong>.<\/li>\n\n\n<li><strong>Get User Comments (By Email)<\/strong> \u2014 retrieves comments associated with an author email address. Provide <strong>User Email<\/strong>; use this when the commenter is identified by email rather than a WordPress account ID.<\/li>\n\n\n<li><strong>Get Comment Metadata (All)<\/strong> \u2014 returns all metadata entries for one comment. Provide the <strong>Comment ID<\/strong>.<\/li>\n\n\n<li><strong>Get Comment Metadata (Single)<\/strong> \u2014 returns one metadata value for a comment. Provide <strong>Comment ID<\/strong> and <strong>Meta Key<\/strong>.<\/li>\n\n\n<li><strong>Create New Comment<\/strong> \u2014 adds a top-level comment to a post. Provide <strong>Post ID<\/strong> and <strong>Comment<\/strong>; author name, email, and URL can be supplied when relevant. Confirm the content and target post before creating the comment.<\/li>\n\n\n<li><strong>Reply To Comment<\/strong> \u2014 adds a reply beneath an existing comment. Provide the <strong>Post ID<\/strong>, the existing comment&#8217;s ID in <strong>Parent ID<\/strong>, and the reply text in <strong>Comment<\/strong>. Author details are optional inputs when relevant.<\/li>\n\n\n<li><strong>Delete Comment<\/strong> \u2014 trashes or deletes a comment. Provide <strong>Comment ID<\/strong>. Enable <strong>Force Delete<\/strong> only when permanent deletion is intended.<\/li>\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\">Inspect and manage post types<\/h2>\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Get Post Type (All)<\/strong> \u2014 lists the post types currently registered in WordPress, including custom types added by plugins or themes.<\/li>\n\n\n<li><strong>Get Post Type (Single)<\/strong> \u2014 returns the post type for a specific record. Provide its <strong>Post ID<\/strong>.<\/li>\n\n\n<li><strong>Register Post Type<\/strong> \u2014 registers a custom content type. Provide a unique <strong>Post Type Key<\/strong> and human-readable <strong>Label<\/strong>, then set visibility, admin-menu options, hierarchy, supported features, description, and optional URL slug. Test custom type registration on staging and avoid using a key already registered by another plugin.<\/li>\n\n\n<li><strong>Unregister Post Type<\/strong> \u2014 unregisters a custom post type by its <strong>Post Type Key<\/strong>. This can make that type unavailable to WordPress while it is unregistered, so verify dependencies before using it.<\/li>\n\n\n<li><strong>Add Post Type Features (Support)<\/strong> \u2014 enables selected editing features for a post type, such as a title, editor, or thumbnail. Provide the <strong>Post Type Key<\/strong> and the comma-separated <strong>Supports<\/strong> values.<\/li>\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\">Common input fields in plain language<\/h2>\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>Post ID \/ Comment ID:<\/strong> the numeric identifier for the exact record to read or change. Use an ID from a previous workflow step whenever possible.<\/li>\n\n\n<li><strong>Post Type:<\/strong> the kind of content, such as a post, page, or registered custom content type.<\/li>\n\n\n<li><strong>Post Status:<\/strong> whether content is draft, published, pending review, private, or scheduled.<\/li>\n\n\n<li><strong>Metadata key and value:<\/strong> the name and stored value of extra information attached to a record. The key must match the one used by the site or plugin.<\/li>\n\n\n<li><strong>Limit:<\/strong> the maximum number of records returned by a list action. A limit can mean that a result contains only part of the site&#8217;s records.<\/li>\n\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\">Permissions and safe testing<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Required fields and permission checks vary by action. Prefer read-only actions while building the workflow, and test create\/update\/delete operations on non-critical content before using them on a live site. Review the selected post, comment, or post type carefully, and check the action result before continuing to another step.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Learn what each of the 28 WordPress post, comment, and post-type actions does, which inputs to provide, and how to test changes safely.<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":151,"menu_order":0,"template":"","class_list":["post-958","doc","type-doc","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/doc\/958","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/doc"}],"about":[{"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/types\/doc"}],"author":[{"embeddable":true,"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":2,"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/doc\/958\/revisions"}],"predecessor-version":[{"id":1099,"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/doc\/958\/revisions\/1099"}],"up":[{"embeddable":true,"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/doc\/151"}],"wp:attachment":[{"href":"https:\/\/dragwyb.com\/docs\/wp-json\/wp\/v2\/media?parent=958"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}