PHPackages                             wpfulcrum/extender - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. wpfulcrum/extender

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

wpfulcrum/extender
==================

Fulcrum Extender Module - extending the PHP array and string functionality + goodies for WordPress too.

3.1.8(8y ago)16006MITPHP &gt;=5.6

Since Oct 25Compare

[ Source](https://github.com/wpfulcrum/extender)[ Packagist](https://packagist.org/packages/wpfulcrum/extender)[ Docs](https://github.com/wpfulcrum/extender)[ RSS](/packages/wpfulcrum-extender/feed)WikiDiscussions Synced 2w ago

READMEChangelogDependencies (5)Versions (17)Used By (6)

Extender Module
===============

[](#extender-module)

[![Build Status](https://camo.githubusercontent.com/cfbd082c8efaf67cfa57ac19d668e5a0beb16550f78aeaef2a058392cade6882/68747470733a2f2f7472617669732d63692e6f72672f777066756c6372756d2f657874656e6465722e7376673f6272616e63683d646576656c6f70)](https://travis-ci.org/wpfulcrum/extender)[![Latest Stable Version](https://camo.githubusercontent.com/2a03fa74155e6da3318fa1ed5e173087c7a1042c478b608e2887889be79fa49f/68747470733a2f2f706f7365722e707567782e6f72672f777066756c6372756d2f657874656e6465722f762f737461626c65)](https://packagist.org/packages/wpfulcrum/extender)[![License](https://camo.githubusercontent.com/3b8659fe3a523f6aa723ee46cac211523fc6129b2af92809d191ab43597ecd87/68747470733a2f2f706f7365722e707567782e6f72672f777066756c6372756d2f657874656e6465722f6c6963656e7365)](https://packagist.org/packages/wpfulcrum/extender)

The Fulcrum Extender module - extending the PHP array, PHP strings, and WordPress functionality.

1. Array Module - making it easier to work with PHP arrays, especially deeply nested array. It includes "dot" notation.
2. String Module - providing the missing PHP string functionality
3. WP Module - providing some missing WordPress functionality

Array Module
------------

[](#array-module)

Working with arrays is tedious, especially deeply nested arrays. This module provides a handful of useful functions including borrowing from Laravel's "dot" notation.

### "Dot" Notation

[](#dot-notation)

Dot notation is a clever mechanism to access deeply nested arrays using a string of the keys separated by dots.

For example, let's say you have a deeply nested array like this one:

```
$user = array(
	'user_id'   => 504,
	'name'      => 'Bob Jones',
	'social'    => array(
		'twitter' => '@bobjones',
	),
	'languages' => array(
		'php'        => array(
			'procedural' => true,
			'oop'        => false,
		),
		'javascript' => true,
		'ruby'       => false,
	),
);

```

To drill down to Bob's twitter handle, you'd pass `'social.twitter'` and to get to whether he likes OOP or procedural, you'd pass `'languages.php.oop'` or `'languages.php.procedural'`.

> Credit: Taylor Otwell brought us "dot" notation in the [Laravel framework](https://laravel.com/). Using his concept, Fulcrum adapts it to fit WordPress running on PHP 5.6 and up.

### Array Extender Functions

[](#array-extender-functions)

Each of these functions is documented in the [Wiki](https://github.com/wpfulcrum/extender/wiki/Array-API-Functionality).

\* indicates this function works with "dot notation".

---[`array_add`](https://github.com/wpfulcrum/extender/wiki/array_add)\*[`array_esc_attr`](https://github.com/wpfulcrum/extender/wiki/array_esc_attr)[`array_exists`](https://github.com/wpfulcrum/extender/wiki/array_exists)[`array_flatten`](https://github.com/wpfulcrum/extender/wiki/array_flatten)[`array_flatten_into_dots`](https://github.com/wpfulcrum/extender/wiki/array_flatten_into_dots)\*[`array_flatten_into_delimited_list`](https://github.com/wpfulcrum/extender/wiki/array_flatten_into_delimited_list)[`array_filter_with_keys`](https://github.com/wpfulcrum/extender/wiki/array_filter_with_keys)[`array_get`](https://github.com/wpfulcrum/extender/wiki/array_get)\*[`array_get_except`](https://github.com/wpfulcrum/extender/wiki/array_get_except)\*[`array_get_first_element`](https://github.com/wpfulcrum/extender/wiki/array_get_first_element)[`array_get_first_match`](https://github.com/wpfulcrum/extender/wiki/array_get_first_match)[`array_get_last_match`](https://github.com/wpfulcrum/extender/wiki/array_get_last_match)[`array_get_only`](https://github.com/wpfulcrum/extender/wiki/array_get_only)\*[`array_has`](https://github.com/wpfulcrum/extender/wiki/array_has)\*[`array_pluck`](https://github.com/wpfulcrum/extender/wiki/array_pluck)\*[`array_prepend`](https://github.com/wpfulcrum/extender/wiki/array_prepend)[`array_pull`](https://github.com/wpfulcrum/extender/wiki/array_pull)\*[`array_remove`](https://github.com/wpfulcrum/extender/wiki/array_remove)\*[`array_set`](https://github.com/wpfulcrum/extender/wiki/array_set)\*[`array_strip_tags`](https://github.com/wpfulcrum/extender/wiki/array_strip_tags)[`array_trim`](https://github.com/wpfulcrum/extender/wiki/array_trim)String Module
-------------

[](#string-module)

We often need functionality to test if a string has, starts with, or ends with a character or substring. This module includes functionality for checking, converting, and truncating strings.

Each of these functions is documented in the [Wiki](https://github.com/wpfulcrum/extender/wiki/String-API-Functionality).

---[`convert_to_ascii`](https://github.com/wpfulcrum/extender/wiki/convert_to_ascii)[`convert_to_camel_case`](https://github.com/wpfulcrum/extender/wiki/convert_to_camel_case)[`convert_to_lower_case`](https://github.com/wpfulcrum/extender/wiki/convert_to_lower_case)[`convert_to_snake_case`](https://github.com/wpfulcrum/extender/wiki/convert_to_snake_case)[`convert_to_studly_case`](https://github.com/wpfulcrum/extender/wiki/convert_to_studly_case)[`convert_to_underscore`](https://github.com/wpfulcrum/extender/wiki/convert_to_underscore)[`convert_to_upper_case`](https://github.com/wpfulcrum/extender/wiki/convert_to_upper_case)[`get_substr`](https://github.com/wpfulcrum/extender/wiki/get_substr)[`str_ends_with`](https://github.com/wpfulcrum/extender/wiki/str_ends_with)[`str_matches_pattern`](https://github.com/wpfulcrum/extender/wiki/str_matches_pattern)[`str_starts_with`](https://github.com/wpfulcrum/extender/wiki/str_starts_with)[`truncate_by_characters`](https://github.com/wpfulcrum/extender/wiki/truncate_by_characters)[`truncate_by_words`](https://github.com/wpfulcrum/extender/wiki/truncate_by_words)WordPress Module
----------------

[](#wordpress-module)

We often need extra functionality to make our jobs easier when working with WordPress. This module adds functionality for checking, getting, and preparing.

Each of these functions is documented in the [Wiki](https://github.com/wpfulcrum/extender/wiki/WP-Functionality).

---[`do_harder_rewrite_rules_flush`](https://github.com/wpfulcrum/extender/wiki/do_harder_rewrite_rules_flush)[`do_hard_get_option`](https://github.com/wpfulcrum/extender/wiki/do_hard_get_option)[`extract_post_id`](https://github.com/wpfulcrum/extender/wiki/extract_post_id)[`fulcrum_declare_plugin_constants`](https://github.com/wpfulcrum/extender/wiki/fulcrum_declare_plugin_constants)[`fulcrum_get_plugin_url`](https://github.com/wpfulcrum/extender/wiki/fulcrum_get_plugin_url)[`get_all_custom_post_types`](https://github.com/wpfulcrum/extender/wiki/get_all_custom_post_types)[`get_all_supports_for_post_type`](https://github.com/wpfulcrum/extender/wiki/get_all_supports_for_post_type)[`get_current_web_page_id`](https://github.com/wpfulcrum/extender/wiki/get_current_web_page_id)[`get_joined_list_of_terms`](https://github.com/wpfulcrum/extender/wiki/get_joined_list_of_terms)[`get_number_of_children_for_post`](https://github.com/wpfulcrum/extender/wiki/get_number_of_children_for_post)[`get_next_parent_post`](https://github.com/wpfulcrum/extender/wiki/get_next_parent_post)[`get_previous_parent_post`](https://github.com/wpfulcrum/extender/wiki/get_previous_parent_post)[`get_post_id`](https://github.com/wpfulcrum/extender/wiki/get_post_id)[`get_post_id_when_in_backend`](https://github.com/wpfulcrum/extender/wiki/get_post_id_when_in_backend)[`get_terms_by_post_type`](https://github.com/wpfulcrum/extender/wiki/get_terms_by_post_type)[`get_url_relative_to_home_url`](https://github.com/wpfulcrum/extender/wiki/get_url_relative_to_home_url)[`prepare_array_for_sql_where_in`](https://github.com/wpfulcrum/extender/wiki/prepare_array_for_sql_where_in)[`post_has_children`](https://github.com/wpfulcrum/extender/wiki/post_has_children)[`is_child_post`](https://github.com/wpfulcrum/extender/wiki/is_child_post)[`is_parent_post`](https://github.com/wpfulcrum/extender/wiki/is_parent_post)[`is_posts_page`](https://github.com/wpfulcrum/extender/wiki/is_posts_page)[`is_root_web_page`](https://github.com/wpfulcrum/extender/wiki/is_root_web_page)[`is_static_front_page`](https://github.com/wpfulcrum/extender/wiki/is_static_front_page)Contributing
------------

[](#contributing)

All feedback, bug reports, and pull requests are welcome.

###  Health Score

31

—

LowBetter than 65% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity66

Established project with proven stability

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 ~3 days

Total

15

Last Release

3168d ago

PHP version history (2 changes)3.0.0PHP &gt;=5.6.0

3.1.x-devPHP &gt;=5.6

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7284611?v=4)[Tonya Mork](/maintainers/hellofromtonya)[@hellofromtonya](https://github.com/hellofromtonya)

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/wpfulcrum-extender/health.svg)

```
[![Health](https://phpackages.com/badges/wpfulcrum-extender/health.svg)](https://phpackages.com/packages/wpfulcrum-extender)
```

PHPackages © 2026

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