elcontraption / wp-post-inspector
Tools for interacting and inspecting WordPress post objects.
Installs: 356
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
pkg:composer/elcontraption/wp-post-inspector
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2025-12-22 03:35:19 UTC
README
Tools for interacting and inspecting WordPress post objects.
- Installation
- Retrieving a post object
- Methods
- Accessing post attributes
- Traversing the post hierarchy
Installation
Install as a dependency of your theme via composer:
composer require elcontraption/wp-post-inspector
Retrieving a post object
use \WpPostInspector\PostInspector; // Get the current post object: $currentPost = new PostInspector(); // Get a specific post object by ID $post1 = new PostInspector(1); // Get a specific post object by slug: $helloWorldPost = new PostInspector('hello-world');
Methods
ancestors
Returns array of ancestors as PostInspector objects.
$currentPost->ancestors();
descendants
Returns array of descendants as PostInspector objects.
$currentPost->descendants();
parent
Access parent PostInspector object.
$currentPost->parent();
permalink
Shortcut for get_permalink($currentPost->id()).
$currentPost->permalink();
siblings
Returns array of siblings as PostInspector objects.
$currentPost->siblings();
top
Access the top ancestor as a PostInspector object.
$currentPost->top();
Accessing post attributes
You may either use standard WP_Post attributes (as methods) or any of the shortcut methods built in to this class.
// Display the current post title using a shortcut method: echo $currentPost->title(); // "Hello world!" // Using a standard WP_Post attribute name: echo $currentPost->post_title(); // "Hello world!"
| Attribute name | Shortcut method |
|---|---|
| ID | id |
| post_author | author |
| post_date | date |
| post_date_gmt | gmt or dateGmt |
| post_content | content |
| post_title | title |
| post_excerpt | excerpt |
| post_status | status |
| comment_status | commentStatus |
| ping_status | pingStatus |
| post_password | password |
| post_name | name or slug |
| to_ping | toPing |
| pinged | pinged |
| post_modified | modified |
| post_modified_gmt | modifiedGmt |
| post_content_filtered | contentFiltered |
| post_parent | parent |
| guid | guid |
| menu_order | menuOrder |
| post_type | type |
| post_mime_type | mimeType |
| comment_count | commentCount |
| filter | filter |
Traversing the post hierarchy
You may traverse the post hierarchy using the parent, top, ancestors, descendants, and siblings methods:
// Get the parent of the current post object: $parent = $currentPost->parent(); // Accessing attributes on the parent object: echo $parent->slug(); // Display the title of the top ancestor post object echo $currentPost->top()->title(); // The 'ancestors', 'descendants', and 'siblings' methods all return arrays of PostInspector objects: $ancestors = $currentPost->ancestors(); foreach ($ancestors as $ancestor) { var_dump($ancestor->title()); } // Method chaining is possible: $grandParent = $currentPost->parent()->parent(); $grandAunts = $currentPost->parent()->parent()->siblings();