PHPackages                             sympresso/object-press - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sympresso/object-press

ActiveLibrary

sympresso/object-press
======================

Object oriented façade for WordPress

1.1.0(8y ago)116MITPHP

Since Sep 26Pushed 8y ago2 watchersCompare

[ Source](https://github.com/sympresso/object-press)[ Packagist](https://packagist.org/packages/sympresso/object-press)[ RSS](/packages/sympresso-object-press/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (2)Dependencies (1)Versions (3)Used By (0)

Sympresso/ObjectPress
---------------------

[](#sympressoobjectpress)

ObjectPress is a simple object oriented facade to the global functions and variables provided by WordPress.
All 900+ core WordPress functions are available.

### Key Features

[](#key-features)

- Promotes object-oriented design in your code
- Functions are namespaced to easily discover functions using your IDE autocomplete
- Allows you to easily test code in isolation since you can mock the objects.
- Extensible so you can add more functions (for WordPress plugins for instance)

### Installation

[](#installation)

```
composer require sympresso/object-press

```

### Usage - WordPress Functions

[](#usage---wordpress-functions)

The 900+ core WordPress functions have been grouped into over 50 classes in ObjectPress. Each of these classes are exposed as a public property of the Sympresso\\ObjectPress\\Wordpress object. For instance the functions has\_action, add\_action, do\_action are all grouped under the property **action**.

Using ObjectPress, you can call the add\_action() the following way...

```
// Adding a WordPress action...
$wp = new Sympresso\ObjectPress\WordPress();
$wp->action->add_action('save_post',function($postId,$post){
    // Business logic on action save_post goes here
});

```

Note: *ObjectPress is just a simple facade.* When you call a method on ObjectPress, it in turn calls the equivalent WordPress function. The key difference is that you don't have to call global functions in your code (which will improve testability.)

### Alternative Syntax

[](#alternative-syntax)

The Sympresso\\ObjectPress\\Wordpress object also implements the \_\_call() magic method. If you prefer, you can skip the property and call the the add\_action directly on the WordPress object.

```
$wp = new Sympresso\ObjectPress\WordPress();
$wp->add_action('save_post',function($postId,$post){
    // Business logic on action save_post goes here
});

```

Note: The alternative syntax doesn't have the benefit of autocomplete.

Usage - WordPress Global Variables
----------------------------------

[](#usage---wordpress-global-variables)

WordPress has many global variables ([https://codex.wordpress.org/Global\_Variables](https://codex.wordpress.org/Global_Variables)). To access these global variables, just access their variable name on the Sympresso\\ObjectPress\\Wordpress object as if it was an array.

For example, accessing the $post and $wpdb global variables...

```
$wp = new Sympresso\ObjectPress\WordPress();
$post = $wp['post'];
$wpdb = $wp['wpdb'];

```

Extending ObjectPress
---------------------

[](#extending-objectpress)

You can extend ObjectPress by creating an Extension. Extensions in ObjectPress implement the Sympresso\\ObjectPress\\ExtensionInterface which has three methods that you will need to implement. When you register an extension, all the methods on the class become methods available on the WordPress object and a public property will be dynamically added with the namesspace of your extension.

The methods you will need to implement:

**getExtensionNamespace** (string) - The unique namespace for your extension.

**getGlobalVariables** (array) - An array of global variables exposed by your extension.

**getExcludedFunctions** (array) - An array of methods of your extension class to ignore (Since by default all methods on an extension will be added).

Here is a sample extension that adds the function foo() and global variable $fooGlobal ...

```
use Sympresso\ObjectPress\AbstractExtension;

class FooExtension extends AbstractExtension
{
    function bar()
    {
        // business logic goes here
    }

    function getExtensionNamespace()
    {
        return 'foo';
    }

    function getGlobalVariables()
    {
        return array('fooGlobal');
    }
}

```

Next you register your extension...

```
$wp = new Sympresso\ObjectPress\WordPress();
$wp->addExtension(new FooExtension());

```

Now you can use the function and global variables...

```
$wp->foo->bar()                 // namespace syntax
$wp->bar()                      // alternative syntax
$fooGlobal = $wp['fooGlobal']   // accessing global variable

```

The core WordPress functions and global variables are added using extensions so you can use them for inspiration (located in Sympresso/ObjectPress/CoreExtensions).

Note: You can also override the core extensions by passing an array of extensions to the Sympresso\\ObjectPress\\WordPress constructor. Be sure to use the same namespace string of the namespace you want to replace.

### ObjectPress Namespaces and Functions

[](#objectpress-namespaces-and-functions)

Here's a list of all the core WordPress functions supported:

- **action**- has\_action, add\_action, do\_action, did\_action, remove\_action, remove\_all\_actions
- **admin** - add\_menu\_page, remove\_menu\_page, add\_submenu\_page, remove\_submenu\_page, add\_object\_page, add\_utility\_page, add\_comments\_page, add\_dashboard\_page, add\_links\_page, add\_management\_page, add\_media\_page, add\_options\_page, add\_pages\_page, add\_plugins\_page, add\_posts\_page, add\_theme\_page, add\_users\_page, add\_meta\_box, remove\_meta\_box, add\_editor\_style, wp\_editor, wp\_get\_image\_editor, post\_submit\_meta\_box
- **asset** - wp\_dequeue\_script, wp\_dequeue\_style, wp\_deregister\_script, wp\_deregister\_style, wp\_enqueue\_script, wp\_enqueue\_style, wp\_localize\_script, wp\_register\_script, wp\_register\_style, wp\_script\_is, wp\_style\_is, wp\_add\_inline\_style, get\_locale\_stylesheet\_uri, get\_stylesheet\_uri, get\_stylesheet, get\_stylesheet\_directory, get\_stylesheet\_directory\_uri, locale\_stylesheet
- **bookmark** - get\_bookmark, get\_bookmarks, wp\_list\_bookmarks
- **cache** - wp\_cache\_set, wp\_cache\_get, wp\_cache\_reset, clean\_blog\_cache
- **cat (Category)** - cat\_is\_ancestor\_of, get\_all\_category\_ids, get\_ancestors, get\_cat\_ID, get\_cat\_name, get\_categories, get\_category, get\_category\_by\_path, get\_category\_by\_slug, get\_the\_category\_by\_ID, get\_the\_category\_list, get\_category\_link, get\_category\_parents, get\_the\_category, single\_cat\_title, in\_category, is\_category, the\_category, wp\_category\_checklist, wp\_dropdown\_categories, wp\_list\_categories, wp\_create\_category, wp\_delete\_category, wp\_insert\_category
- **comment** - comment\_link, get\_comment\_link, add\_comment\_meta, check\_comment, comment\_text, comment\_form, comments\_number, delete\_comment\_meta, get\_approved\_comments, get\_avatar, get\_comment, get\_comment\_text, get\_comment\_meta, get\_comments, wp\_list\_comments, get\_lastcommentmodified, have\_comments, get\_comment\_author, update\_comment\_meta, wp\_allow\_comment, wp\_count\_comments, wp\_delete\_comment, wp\_filter\_comment, wp\_get\_comment\_status, wp\_get\_current\_commenter, wp\_insert\_comment, wp\_new\_comment, wp\_set\_comment\_status, wp\_throttle\_comment\_flood, wp\_update\_comment, wp\_update\_comment\_count, wp\_update\_comment\_count\_now, comment\_class, comment\_ID, comment\_author, comment\_date, comment\_time, get\_comment\_date, get\_comment\_time, paginate\_comments\_links, previous\_comments\_link, next\_comments\_link, get\_comment\_pages\_count, comments\_open
- **cond (Conditional)** - in\_the\_loop, is\_child\_theme, is\_active\_sidebar, is\_admin\_bar\_showing, is\_customize\_preview, is\_dynamic\_sidebar, in\_category, is\_404, is\_admin, is\_archive, is\_attachment, is\_author, is\_category, is\_comments\_popup, is\_date, is\_day, is\_feed, is\_front\_page, is\_home, is\_month, is\_page, is\_page\_template, is\_paged, is\_preview, is\_search, is\_single, is\_singular, is\_sticky, is\_tag, is\_tax, is\_time, is\_trackback, is\_year, is\_main\_query, is\_blog\_installed, is\_main\_site, is\_multisite, is\_ssl, is\_wp\_error, wp\_is\_mobile, is\_new\_day, is\_post\_type\_archive, is\_post\_type\_hierarchical, is\_serialized, is\_serialized\_string, is\_taxonomy, is\_taxonomy\_hierarchical, is\_term, has\_nav\_menu, current\_theme\_supports, has\_header\_image
- **cookie** - wp\_clearcookie, wp\_get\_cookie\_login, wp\_set\_auth\_cookie
- **cron** - spawn\_cron, wp\_clear\_scheduled\_hook, wp\_cron, wp\_get\_schedule, wp\_get\_schedules, wp\_next\_scheduled, wp\_reschedule\_event, wp\_schedule\_event, wp\_schedule\_single\_event, wp\_unschedule\_event
- **date\_time** - current\_time, date\_i18n, get\_calendar, get\_date\_from\_gmt, get\_lastpostdate, get\_lastpostmodified, get\_day\_link, get\_gmt\_from\_date, get\_month\_link, the\_date, get\_the\_date, the\_time, get\_the\_time, the\_modified\_time, get\_the\_modified\_time, get\_weekstartend, get\_year\_link, human\_time\_diff, is\_new\_day, iso8601\_timezone\_to\_offset, iso8601\_to\_datetime, mysql2date
- **embed** - wp\_oembed\_remove\_provider, wp\_embed\_register\_handler, wp\_embed\_unregister\_handler, wp\_embed\_defaults, wp\_oembed\_get, wp\_oembed\_add\_provider, wp\_maybe\_load\_embeds, wp\_embed\_handler\_youtube, wp\_embed\_handler\_audio, wp\_embed\_handler\_video, wp\_oembed\_register\_route, wp\_oembed\_add\_discovery\_links, wp\_oembed\_add\_host\_js, get\_post\_embed\_url, get\_oembed\_endpoint\_url, get\_post\_embed\_html, get\_oembed\_response\_data, get\_oembed\_response\_data\_rich, wp\_oembed\_ensure\_format, wp\_filter\_oembed\_result, wp\_embed\_excerpt\_more, the\_excerpt\_embed, wp\_embed\_excerpt\_attachment, enqueue\_embed\_scripts, print\_embed\_styles, print\_embed\_scripts, print\_embed\_comments\_button, print\_embed\_sharing\_button, print\_embed\_sharing\_dialog, the\_embed\_site\_title, wp\_filter\_pre\_oembed\_result
- **enclosure** - get\_enclosed, do\_enclose
- **feed** - bloginfo\_rss, comment\_author\_rss, comment\_text\_rss, do\_feed, do\_feed\_atom, do\_feed\_rdf, do\_feed\_rss, do\_feed\_rss2, fetch\_feed, fetch\_rss, get\_author\_feed\_link, get\_bloginfo\_rss, get\_category\_feed\_link, get\_comment\_author\_rss, get\_post\_comments\_feed\_link, get\_rss, get\_search\_comments\_feed\_link, get\_search\_feed\_link, get\_the\_category\_rss, get\_the\_title\_rss, permalink\_single\_rss, post\_comments\_feed\_link, rss\_enclosure, the\_title\_rss, the\_category\_rss, the\_content\_rss, the\_excerpt\_rss, wp\_rss
- **file** - unzip\_file, validate\_file, validate\_file\_to\_edit, wp\_check\_filetype, wp\_handle\_sideload, wp\_upload\_bits, wp\_upload\_dir, wp\_mkdir\_p, wp\_max\_upload\_size
- **filter** - has\_filter, add\_filter, apply\_filters, apply\_filters\_ref\_array, current\_filter, remove\_filter, remove\_all\_filters
- **formatting** - absint, add\_magic\_quotes, addslashes\_gpc, antispambot, attribute\_escape, backslashit, balanceTags, clean\_pre, clean\_url, convert\_chars, convert\_smilies, ent2ncr, esc\_attr, esc\_html, esc\_js, esc\_textarea, esc\_sql, esc\_url, esc\_url\_raw, force\_balance\_tags, format\_to\_edit, format\_to\_post, funky\_javascript\_fix, htmlentities2, is\_email, js\_escape, make\_clickable, popuplinks, remove\_accents, sanitize\_email, sanitize\_file\_name, sanitize\_html\_class, sanitize\_key, sanitize\_mime\_type, sanitize\_option, sanitize\_sql\_orderby, sanitize\_text\_field, sanitize\_title, sanitize\_title\_for\_query, sanitize\_comment\_cookies, sanitize\_title\_with\_dashes, sanitize\_user, seems\_utf8, stripslashes\_deep, trailingslashit, untrailingslashit, urlencode\_deep, url\_shorten, utf8\_uri\_encode, wpautop, wptexturize, wp\_filter\_kses, wp\_filter\_post\_kses, wp\_filter\_nohtml\_kses, wp\_iso\_descrambler, wp\_kses, wp\_kses\_array\_lc, wp\_kses\_attr, wp\_kses\_bad\_protocol, wp\_kses\_bad\_protocol\_once, wp\_kses\_bad\_protocol\_once2, wp\_kses\_check\_attr\_val, wp\_kses\_decode\_entities, wp\_kses\_hair,wp\_kses\_hook, wwp\_kses\_html\_error, wp\_kses\_js\_entities, wp\_kses\_no\_null, wp\_kses\_normalize\_entities, wp\_kses\_normalize\_entities2, wp\_kses\_split, wp\_kses\_split2, wp\_kses\_stripslashes, wp\_kses\_version, wp\_make\_link\_relative, wp\_normalize\_path, wp\_rel\_nofollow, wp\_richedit\_pre, wp\_specialchars, wp\_trim\_words, zeroise
- **form** - checked, disabled, selected, submit\_button, get\_submit\_button
- **http** - wp\_remote\_get, wp\_remote\_retrieve\_body, wp\_get\_http\_headers,wp\_remote\_fopen
- **http\_header** - nocache\_headers, status\_header, cache\_javascript\_headers
- **json** - wp\_send\_json, wp\_send\_json\_error, wp\_send\_json\_success
- **lang (Language)** - \_\_, \_x, \_n, \_nx, \_e, \_ex, \_\_ngettext, esc\_attr\_\_, esc\_attr\_e, get\_locale, load\_default\_textdomain, load\_plugin\_textdomain, load\_muplugin\_textdomain, load\_textdomain, load\_theme\_textdomain, is\_rtl, wp\_get\_installed\_translations, language\_attributes, locale\_stylesheet, get\_locale\_stylesheet\_uri
- **mail** - wp\_mail, wp\_new\_user\_notification, wp\_password\_change\_notification, wp\_notify\_moderator, wp\_notify\_postauthor
- **media** - get\_attached\_file, image\_resize, is\_attachment, is\_local\_attachment, set\_post\_thumbnail, update\_attached\_file, wp\_attachment\_is\_image, wp\_create\_thumbnail, wp\_insert\_attachment, wp\_delete\_attachment, wp\_get\_attachment\_image, wp\_get\_attachment\_link, wp\_get\_attachment\_image\_src, wp\_get\_attachment\_metadata, wp\_get\_attachment\_thumb\_file, wp\_get\_attachment\_thumb\_url, wp\_get\_attachment\_url, wp\_check\_for\_changed\_slugs, wp\_get\_mime\_types, wp\_mime\_type\_icon, wp\_generate\_attachment\_metadata, wp\_prepare\_attachment\_for\_js, wp\_update\_attachment\_metadata
- **meta** - add\_post\_meta, delete\_post\_meta, get\_post\_custom, get\_post\_custom\_keys, get\_post\_custom\_values, get\_post\_meta, update\_post\_meta, register\_meta
- **misc** - bool\_from\_yn, capital\_P\_dangit, do\_robots, make\_url\_footnote, wp, wp\_die, wp\_install\_defaults, wp\_list\_pluck, wp\_text\_diff
- **multisite** - confirm\_delete\_users, is\_user\_member\_of\_blog, wp\_dashboard\_quota, avoid\_blog\_page\_permalink\_collision, check\_import\_new\_users, check\_upload\_size, choose\_primary\_blog, display\_space\_usage, fix\_import\_form\_size, format\_code\_lang, get\_site\_allowed\_themes, grant\_super\_admin, ms\_deprecated\_blogs\_file, mu\_dropdown\_languages, new\_user\_email\_admin\_notice, refresh\_user\_details, revoke\_super\_admin, send\_confirmation\_on\_profile\_email, site\_admin\_notice, sync\_category\_tag\_slugs, update\_option\_new\_admin\_email, update\_user\_status, upload\_space\_setting, wpmu\_delete\_blog, wpmu\_delete\_user, wpmu\_get\_blog\_allowedthemes, add\_blog\_option, delete\_blog\_option, get\_blogaddress\_by\_domain, get\_blogaddress\_by\_id, get\_blogaddress\_by\_name, get\_blog\_details, get\_blog\_option, get\_blog\_status, get\_id\_from\_blogname, get\_last\_updated, is\_archived, refresh\_blog\_details, restore\_current\_blog, switch\_to\_blog, update\_archived, update\_blog\_details, update\_blog\_option, update\_blog\_status, wpmu\_update\_blogs\_date, ms\_cookie\_constants, ms\_file\_constants, ms\_subdomain\_constants, ms\_upload\_constants, add\_existing\_user\_to\_blog, add\_new\_user\_to\_blog, add\_user\_to\_blog, check\_upload\_mimes, create\_empty\_blog, domain\_exists, filter\_SSL, fix\_phpmailer\_messageid, force\_ssl\_content, get\_active\_blog\_for\_user, get\_admin\_users\_for\_domain, get\_blogs\_of\_user, get\_blog\_count, get\_blog\_id\_from\_url, get\_blog\_permalink, get\_blog\_post, get\_current\_site, get\_dashboard\_blog, get\_dirsize, get\_most\_recent\_post\_of\_user, get\_sitestats, get\_space\_allowed, get\_space\_used, get\_upload\_space\_available, get\_user\_count, get\_user\_id\_from\_string, global\_terms, insert\_blog, install\_blog, install\_blog\_defaults, is\_blog\_user, is\_email\_address\_unsafe, is\_upload\_space\_available, is\_user\_option\_local, is\_user\_spammy, maybe\_add\_existing\_user\_to\_blog, maybe\_redirect\_404, newblog\_notify\_siteadmin, newuser\_notify\_siteadmin, recurse\_dirsize, redirect\_this\_site, remove\_user\_from\_blog, signup\_nonce\_check, signup\_nonce\_fields, update\_blog\_public, update\_posts\_count, upload\_is\_file\_too\_big, upload\_is\_user\_over\_quota, upload\_size\_limit\_filter, users\_can\_register\_signup\_filter, welcome\_user\_msg\_filter, wp\_get\_sites, wpmu\_activate\_signup, wpmu\_admin\_redirect\_add\_updated\_param, wpmu\_create\_blog, wpmu\_create\_user, wpmu\_log\_new\_registrations, wpmu\_signup\_blog, wpmu\_signup\_blog\_notification, wpmu\_signup\_user, wpmu\_signup\_user\_notification, wpmu\_validate\_blog\_signup, wpmu\_validate\_user\_signup, wpmu\_welcome\_notification, wpmu\_welcome\_user\_notification, get\_current\_site\_name, is\_subdomain\_install, ms\_not\_installed, ms\_site\_check, wpmu\_current\_site
- **nav** - unregister\_nav\_menu, register\_nav\_menu, register\_nav\_menus, get\_registered\_nav\_menus, wp\_create\_nav\_menu, wp\_get\_nav\_menu\_items, wp\_nav\_menu, has\_nav\_menu, wp\_page\_menu
- **option** - add\_option, add\_site\_option, delete\_option, delete\_site\_option, form\_option, get\_alloptions, get\_site\_option, get\_site\_url, get\_admin\_url, get\_user\_option, get\_option, update\_option, update\_site\_option, update\_user\_option, wp\_load\_alloptions
- **page** - get\_all\_page\_ids, get\_ancestors, get\_page, get\_page\_link, get\_page\_by\_path, get\_page\_by\_title, get\_page\_children, get\_page\_hierarchy, get\_page\_uri, get\_pages, is\_page, wp\_link\_pages, wp\_list\_pages, wp\_page\_menu, wp\_dropdown\_pages
- **ping** - add\_ping, pingback, privacy\_ping\_filter, discover\_pingback\_server\_uri, do\_all\_pings, generic\_ping, get\_pung, get\_to\_ping, weblog\_ping, pings\_open
- **plugin** - plugin\_basename, plugins\_url, get\_plugin\_data, get\_admin\_page\_title, plugin\_dir\_path, register\_activation\_hook, register\_deactivation\_hook, menu\_page\_url, is\_plugin\_active, is\_plugin\_active\_for\_network, is\_plugin\_inactive, is\_plugin\_page, add\_contextual\_help, get\_plugins, plugin\_dir\_url
- **post** - get\_boundary\_post, get\_children, get\_extended, get\_next\_post, get\_next\_posts\_link, next\_posts\_link, get\_permalink, the\_permalink, get\_the\_excerpt, the\_excerpt, get\_the\_post\_thumbnail, get\_post, get\_post\_field, get\_post\_ancestors, get\_post\_mime\_type, get\_post\_status, get\_post\_format, set\_post\_format, get\_edit\_post\_link, get\_delete\_post\_link, get\_previous\_post, get\_previous\_posts\_link, previous\_posts\_link, get\_posts, have\_posts, get\_the\_ID, the\_ID, the\_post, wp\_get\_recent\_posts, wp\_get\_single\_post, has\_post\_thumbnail, has\_excerpt, has\_post\_format, register\_post\_status, wp\_delete\_post, wp\_insert\_post, wp\_publish\_post, wp\_trash\_post, wp\_update\_post, get\_the\_author, the\_author, get\_the\_author\_posts, get\_the\_content, the\_content, get\_the\_title, the\_title, the\_title\_attribute, wp\_trim\_excerpt, wp\_get\_post\_revision, wp\_get\_post\_revisions, wp\_is\_post\_revision, paginate\_links, get\_post\_stati, get\_post\_statuses, post\_class, count\_user\_posts, count\_many\_users\_posts, get\_usernumposts
- **query** - add\_query\_arg, get\_query\_var, query\_posts, remove\_query\_arg, rewind\_posts, setup\_postdata, wp\_parse\_args, wp\_reset\_postdata, wp\_reset\_query, get\_num\_queries
- **redirect** - wp\_redirect, wp\_safe\_redirect
- **security** - check\_admin\_referer, check\_ajax\_referer, wp\_create\_nonce, wp\_explain\_nonce, wp\_get\_original\_referer, wp\_get\_referer, wp\_nonce\_ays, wp\_nonce\_field, wp\_nonce\_url, wp\_original\_referer\_field, wp\_referer\_field, wp\_verify\_nonce, wp\_salt, wp\_hash
- **serialization** - is\_serialized, is\_serialized\_string, maybe\_serialize, maybe\_unserialize
- **setting** - register\_setting, unregister\_setting, settings\_fields, do\_settings\_fields, do\_settings\_sections, add\_settings\_field, add\_settings\_section, add\_settings\_error, get\_settings\_errors, settings\_errors
- **shortcode** - add\_shortcode, do\_shortcode, do\_shortcode\_tag, get\_shortcode\_regex, remove\_shortcode, remove\_all\_shortcodes, shortcode\_atts, shortcode\_parse\_atts, strip\_shortcodes
- **sidebar** - get\_sidebar, dynamic\_sidebar, is\_active\_sidebar, is\_dynamic\_sidebar, register\_sidebar, register\_sidebars, unregister\_sidebar
- **sql** - get\_tax\_sql, get\_meta\_sql, get\_posts\_by\_author\_sql
- **tag** - get\_tag, get\_tag\_link, get\_tags, get\_the\_tag\_list, get\_the\_tags, has\_tag, is\_tag, the\_tags, single\_tag\_title, tag\_description, wp\_generate\_tag\_cloud, wp\_tag\_cloud
- **tax (Taxonomy)** - get\_object\_taxonomies, get\_edit\_term\_link, get\_taxonomy, get\_taxonomies, get\_term, get\_the\_term\_list, get\_term\_by, the\_terms, get\_the\_terms, get\_term\_children, get\_term\_link, get\_terms, is\_taxonomy, is\_tax, is\_taxonomy\_hierarchical, is\_term, taxonomy\_exists, term\_exists, register\_taxonomy, register\_taxonomy\_for\_object\_type, wp\_get\_object\_terms, wp\_remove\_object\_terms, wp\_set\_object\_terms, wp\_insert\_term, wp\_update\_term, wp\_delete\_term, wp\_terms\_checklist, wp\_get\_post\_categories, wp\_set\_post\_categories, wp\_get\_post\_tags, wp\_set\_post\_tags, wp\_get\_post\_terms, wp\_set\_post\_terms, wp\_count\_terms, has\_term, is\_object\_in\_term
- **template** - comments\_template, get\_footer, get\_header, get\_sidebar, get\_search\_form, add\_custom\_background, add\_custom\_image\_header, add\_image\_size, add\_image\_size, body\_class, dynamic\_sidebar, get\_404\_template, get\_archive\_template, get\_attachment\_template, get\_author\_template, get\_body\_class, get\_category\_template, get\_comments\_popup\_template, get\_date\_template, get\_header\_image, get\_header\_textcolor, get\_home\_template, get\_page\_template, get\_paged\_template, get\_post\_class, get\_query\_template, get\_search\_template, get\_single\_template, get\_tag\_template, get\_taxonomy\_template, get\_template, get\_template\_directory, get\_template\_directory\_uri, get\_template\_part, has\_header\_image, header\_image, header\_textcolor, in\_the\_loop, is\_child\_theme, language\_attributes, load\_template, locate\_template, post\_class, wp\_get\_archives, wp\_title, comments\_open, has\_tag, pings\_open, get\_bloginfo, wp\_footer, wp\_head
- **theme** - add\_theme\_support, current\_theme\_supports, get\_current\_theme, get\_theme, wp\_get\_themes, get\_theme\_data, get\_theme\_support, get\_theme\_mod, get\_theme\_mods, get\_theme\_root, get\_theme\_roots, get\_theme\_root\_uri, get\_themes, preview\_theme, preview\_theme\_ob\_filter, preview\_theme\_ob\_filter\_callback, register\_theme\_directory, remove\_theme\_mod, remove\_theme\_mods, remove\_theme\_support, require\_if\_theme\_supports, search\_theme\_directories, set\_theme\_mod, switch\_theme, validate\_current\_theme, wp\_get\_theme, wp\_clean\_themes\_cache
- **traceback** - is\_trackback, trackback, trackback\_url, trackback\_url\_list, do\_trackbacks
- **transient** - set\_transient, get\_transient, delete\_transient, set\_site\_transient, get\_site\_transient, delete\_site\_transient
- **url** - add\_rewrite\_rule, admin\_url, content\_url, flush\_rewrite\_rules, home\_url, includes\_url, network\_admin\_url, network\_home\_url, network\_site\_url, plugin\_dir\_url, site\_url, get\_search\_link
- **user** - auth\_redirect, count\_users, count\_user\_posts, count\_many\_users\_posts, email\_exists, get\_currentuserinfo, get\_current\_user\_id, get\_profile, get\_user\_by, get\_userdata, get\_usernumposts, get\_users, set\_current\_user, user\_pass\_ok, wp\_authenticate, username\_exists, validate\_username, wp\_dropdown\_users, wp\_get\_current\_user, wp\_set\_current\_user, wp\_set\_password, get\_author\_posts\_url, get\_the\_modified\_author, is\_multi\_author, add\_user\_meta, delete\_user\_meta, get\_user\_meta, update\_user\_meta, get\_the\_author\_meta, wp\_create\_user, wp\_delete\_user, wp\_insert\_user, wp\_update\_user, is\_user\_logged\_in, wp\_login\_form, wp\_signon, wp\_logout, wp\_loginout, wp\_logout\_url
- **widget** - is\_active\_widget, register\_widget, the\_widget, unregister\_widget, wp\_add\_dashboard\_widget, wp\_convert\_widget\_settings, wp\_get\_sidebars\_widgets, wp\_get\_widget\_defaults, wp\_register\_sidebar\_widget, wp\_register\_widget\_control, wp\_set\_sidebars\_widgets, wp\_unregister\_sidebar\_widget, wp\_unregister\_widget\_control, wp\_widget\_description
- **xmlrpc** - xmlrpc\_getpostcategory, xmlrpc\_getposttitle, xmlrpc\_removepostdata

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~7 days

Total

2

Last Release

3145d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/8e78634413a6490a7e2e1beba8e3510b90a4f35e9476e15bc08f46f2a3826af8?d=identicon)[swimson1](/maintainers/swimson1)

---

Top Contributors

[![swimson](https://avatars.githubusercontent.com/u/4927059?v=4)](https://github.com/swimson "swimson (53 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sympresso-object-press/health.svg)

```
[![Health](https://phpackages.com/badges/sympresso-object-press/health.svg)](https://phpackages.com/packages/sympresso-object-press)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
