sectsect / wp-tag-order
Sort the tags manually in individual posts on wordpress.
Installs: 271
Dependents: 0
Suggesters: 0
Security: 0
Stars: 20
Watchers: 3
Forks: 3
Open Issues: 2
Type:wordpress-plugin
Requires
- php: >=8.0
Requires (Dev)
- phpstan/extension-installer: ^1.3
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^7.5 || ^9.5
- squizlabs/php_codesniffer: ^3.7
- szepeviktor/phpstan-wordpress: ^1.3
- wp-coding-standards/wpcs: ^3.0
- yoast/phpunit-polyfills: ^2.0
- dev-master
- v3.6.0
- v3.5.0
- v3.4.1
- v3.4.0
- v3.3.0
- v3.2.0
- v3.1.0
- v3.0.0
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- v2.1.2
- v2.1.1
- v2.1.0
- v2.0.0
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.9
- v1.2.8
- v1.2.7
- v1.2.6
- v1.2.5
- v1.2.4
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-feature/code-coverage
- dev-feature/phpunit-test
- dev-feature/phpunit
- dev-feature/type-hinting
- dev-feature/migration-ci
This package is auto-updated.
Last update: 2024-05-01 18:15:47 UTC
README
Order tags independently in each posts (not site-globally) on WordPress with simple Drag-and-Drop ↕︎ sortable feature.
Important
This plugin is NOT compatible with Gutenberg on WordPress 5.x. Consider using Classic Editor Plugin.
Get Started
- Clone this Repo into your
wp-content/plugins
directory.
$ cd /path-to-your/wp-content/plugins/
$ git clone git@github.com:sectsect/wp-tag-order.git
- Activate the plugin through the
Plugins
menu in WordPress. - Go to
Settings
->WP Tag Order
page to select which taxonomies to enable ordering for.
Features
- Support
post_tag
andnon-hierarchical taxonomy
. - Support multiple
non-hierarchical taxonomies
in a post-type. - Support Multisite.
Notes
- When creating a new post, you need to save it once to enable tag ordering.
- To apply ordering to existing posts, "Add and Remove" any tag once.
- To bulk-update multiple posts at once, go to
Settings
->WP Tag Order
page and click 'Apply' under the Advanced Settings.
- Tested on WordPress v6.3.1.
Requirements
- WordPress 5.6+
- PHP 8.0+
APIs
Function | Description |
---|---|
get_the_tags_ordered() |
Based on get_the_tags() - Codex |
get_the_terms_ordered() |
Based on get_the_terms() - Codex |
get_the_tag_list_ordered() |
Based on get_the_tag_list() - Codex |
get_the_term_list_ordered() |
Based on get_the_term_list() - Codex |
the_tags_ordered() |
Based on the_tags() - Codex |
the_terms_ordered() |
Based on the_terms() - Codex |
Usage Example
get_the_tags_ordered()
<?php $terms = get_the_tags_ordered(); if ( $terms && ! is_wp_error( $terms ) ) : ?> <ul> <?php foreach ( $terms as $term ) : ?> <li> <a href="<?php echo get_term_link( $term->slug, 'post_tag' ); ?>"> <?php echo $term->name; ?> </a> </li> <?php endforeach; ?> </ul> <?php endif; ?>
get_the_terms_ordered()
<?php $terms = get_the_terms_ordered( $post->ID, 'post_tag' ); if ( $terms && ! is_wp_error( $terms ) ) : ?> <ul> <?php foreach ( $terms as $term ) : ?> <li> <a href="<?php echo get_term_link( $term->slug, 'post_tag' ); ?>"> <?php echo $term->name; ?> </a> </li> <?php endforeach; ?> </ul> <?php endif; ?>
get_the_tag_list_ordered()
<?php echo get_the_tag_list_ordered(); ?>
get_the_term_list_ordered()
<?php echo get_the_term_list_ordered( $post->ID, 'post_tag' ); ?>
the_tags_ordered()
<?php the_tags_ordered(); ?>
the_terms_ordered()
<?php the_terms_ordered( $post->ID, 'post_tag' ); ?>
For Developers
-
The ordered tag data is serialized and stored in the
wp_postmeta
table under keys likewp-tag-order-{taxonomy}
.meta_id post_id meta_key meta_value 19 7 wp-tag-order-post_tag s:91:"a:7:{i:0;s:1:"7";i:1;s:1:"5";i:2;s:2:"10";i:3;s:1:"4";i:4;s:1:"6";i:5;s:1:"8";i:6;s:1:"9";}";
-
This Plugin does not hosting on the wordpress.org repo in order to prevent a flood of support requests from wide audience. Your feedback is welcome.
Change log
See CHANGELOG file.
License
See LICENSE file.
✌️
A little project by @sectsect