The WP Subtitle plugin allows your pages and posts to contain a subtitle. Also called a sub-heading, this this short line of text is meant to appear beneath a post’s (or page’s) title, but can be inserted in your template wherever you choose.
The subtitle can be inserted into your theme template files (or plugin) using the following API:
Display The Subtitle
All parameters are optional. If ‘post_id’ is omitted then the current post ID in the loop is used.
PHP Code:
do_action( 'plugins/wp_subtitle/the_subtitle', array(
'before' => '<p class="subtitle">',
'after' => '</p>',
'post_id' => get_the_ID(),
'default_value' => ''
) );
Output:
<p class="subtitle">My Post Subtitle</p>
Get The Subtitle
All parameters are optional. If ‘post_id’ is omitted then the current post ID in the loop is used.
A default value can be supplied as the second parameter for apply_filters
. This will be used if the post does not have a subtitle. Leave as an empty string to return an empty string if the post does not have a subtitle.
PHP Code:
$subtitle = apply_filters( 'plugins/wp_subtitle/get_subtitle', '', array(
'before' => '<p class="subtitle">',
'after' => '</p>',
'post_id' => get_the_ID()
) );
Result:
$subtitle = '<p class="subtitle">My Post Subtitle</p>'
Parameters
The array of arguments accepted for the plugins/wp_subtitle/the_subtitle
action and plugins/wp_subtitle/get_subtitle
filter are:
before
(string) Text to place before the subtitle if one exists. Defaults to an empty string.
after
(string) Text to place after the subtitle if one exists. Defaults to to an empty string.
post_id
(integer) Post, page or custom post type ID.
default_value
(string) Only used by the plugins/wp_subtitle/the_subtitle
action, allows you to specify a default subtitle to display if the post does not have one. For the plugins/wp_subtitle/get_subtitle
filter the second parameter of apply_filters
should be used instead. Defaults to to an empty string.
Post Type Support
By default, subtitle are supported by both posts and pages. To add support for custom post types add teh following to your theme functions file or plugin:
add_post_type_support( 'my_post_type', 'wps_subtitle' )
WooCommerce Plugin Support
Subtitles can automatically be added to your WooCommerce products without needing to make template changes. In the admin go to WooCommerce > Settings > Products where you can choose to:
- Enable Product Subtitles
- Display the subtitle on single product pages
- Display the subtitle on product archives (category pages)
Yoast SEO and SEOPress Plugin Support
The plugin allows you to include the subtitle in your meta titles and descriptions via the Yoast SEO and SEOPress plugins.
Similar to the Yoast %%title%%
placeholder which inserts the post title, you can use %%wps_subtitle%%
.
There are also addition placeholders and filters to allow to to customize seperators for the subtitle.
For more information, view the SEO support documentation here.
The plugin adds a Subtitle field when editing posts, pages or custom post types. The subtitle is stored as a custom field (post meta data) and can be output using API actions and filters.
All subtitles are stored as post meta data. Deactivating this plugin will not remove those fields.
In the new editor in WordPress 5.0 the subtitle is editable via ap panel in the sidebar (like excerpts).
Refer to the documentation.
To add support for custom post types add the following to your theme functions file or plugin:
function my_wp_subtitle_page_part_support() {
add_post_type_support( 'my_post_type', 'wps_subtitle' );
}
add_action( 'init', 'my_wp_subtitle_page_part_support' );
Please post support requests and questions in the WordPress.org Support forum.
Please submit bugs/errors directly to the GitHub Issues list.
The plugin is hosted on GitHub and pull requests are welcome.
Not well integrated
By jzwolak on April 25, 2020
I Wish I Could Give 10 Stars
By iSaumya (isaumya) on April 9, 2020
the_content();
section. Which didn't worked for me as I wanted it outside of the content so that I can place it below the title and show where I want it to be shown. Also, you can easily add the subtitle support to your CPT which is truly awesome.
Again, I will highly recommend this plugin and I would have given 10 stars if it was possible. I just hope that the plugin developer maintains the plugin in future and not leave it in the middle as this is truly an amazing plugin which I would hate to see die.Works well with WP-5.2 and PHP-7.1
By antonv on June 14, 2019
Fatal error triggered
By stephcthomp on January 24, 2019
Development
By wellbeingtips on September 3, 2018
Works as intended!
By surml on March 27, 2018
get_the_subtitle()
changed to return the content rather than echo it.
1. It would go along with the behaviour of Wordpress built-in functions ( get_the_title(), get_the_content()
etc.)
2. I have to provide 3 extra paramters ( $before, $after and $echo ) everytime I want to do this simple switch.
Another suggestion would be to check if $post is already set and use it automatically if so. (That way i wouldnt have to use any params at all in most of my use-cases. ...and YES, I am lazy ;-) )Works great!
By bozdoz on July 22, 2017
If you need a subtitle plugin, try this; it's excellent
By Gary Barrett on July 11, 2017
Very useful and well thought out plugin. Thank you!
By Torello on November 19, 2016
Perfect! :-)
By hanbon on November 7, 2016
3.4.1
- Security: Resolve XSS issue by improving sanitization when saving subtitle custom field.
- Pass the current post object to the
wps_subtitle_field_placeholder
filter. Props Dominik Schilling.
3.4
- Added support for the SEOPress plugin. Props @chriselkins.
- You can now update the subtitle via the REST API. Props @chriselkins.
3.3.1
- Fixed broken closing H2 tag for WooCommerce subtitle. Props @faktorvier.
3.3
- New API for displaying the subtitle using
do_action( 'plugins/wp_subtitle/the_subtitle' )
. - New API for getting the subtitle using
apply_filters( 'plugins/wp_subtitle/get_subtitle', '' )
. - Admin column title now matches the meta box title if altered using the
wps_meta_box_title
filter.
3.2
- Fix WordPress 5.0 compatibility – check
use_block_editor_for_post_type
.
3.1
- Added
%%wps_subtitle%%
placeholders for Yoast SEO compatibility. - WooCommerce compatibility. Go to
WooCommerce > Settings > Products > Display
for settings. - Added
wps_subtitle_field_position
filter to show subtitle admin fieldbefore_title
,after_title
or in meta box. - Use metabox UI if editing in Gutenberg.
3.0
- Make
wps_subtitle
available via WordPress REST API.
2.9.1
- Fix preview not rendering correct template and other post meta.
2.9
- Add support for post revisions. Props Fabian Marz.
- As of WordPress 4.3 no need to
esc_attr()
ANDhtmlentities()
– can mess up special characters.
2.8.1
- Fix PHP warning –
get_admin_subtitle_value()
should be declared static.
2.8
- Allow subtitle to contain HTML (same as main post title ).
- Add
wps_default_subtitle
filter. - Use
WP_Subtitle
class to validate saving of subtitle in the admin.
2.7.1
- Fix incorrect post ID reference preventing subtitle from saving.
2.7
- Trim subtitle by default.
- Apply wptexturize() on subtitle.
- Use WP_Subtitle class to manage post subtitle.
2.6
- Security Update: Sanitize
$_REQUEST
and$_GET
when establishing post type in the admin. - Added quick edit support for subtitle. Props Fabian Marz and sun.
- Allow subtitle post meta key to be filtered using
wps_subtitle_key
. - Add German translation. Props hatsumatsu.
2.5
- Add [wp_subtitle] shortcode.
- Do not use variable for textdomain – causes issues for parsers.
- Declare methods as public or private.
2.4.1
- Fix PHP notice warning on 404 error page. Props Jay Williams.
- Add a little space above subtitle field when below title field in admin.
2.4
- Add subtitle admin column.
2.3.2
- Show subtitle admin field when adding new post. Props Gabriel Doty.
2.3.1
- Security Update: Ensure subtitles are sanitized when saving.
2.3
- Prevent subtitle fields from displaying on post types for which support has not been added using add_post_type_support(). Previously the fields were displayed but the subtitle would not be saved.
- Escape subtitle admin field value – fixes issues with subtitles with quotes.
2.2
- Added ‘wps_subtitle_use_meta_box’ filter to allow the edit field to be displayed in a meta box (the old way).
- Moved subtitle field from meta box to below title field in WordPress 3.5+ (props Tor Morten)
2.1
- Ready for translation – .pot file added.
- Added deprecated function warnings if WP_DEBUG enabled.
- Fix static method warnings.
- Only include admin functionality when needed.
2.0.1
- Use
<?php
instead of just<?
. - Break out some of the code into separate functions.
2.0
- Added custom post type support – use add_post_type_support( ‘{post_type}’, ‘wps_subtitle’ ).
- Added ‘wps_meta_box_title’ filter.
- Added ‘wps_subtitle’ filter.
- Added ‘wps_subtitle_field_description’ filter.
- Fixed bug in more recent versions of WordPress.
1.0
- First version.
- Upload the WP Subtitle plugin to your WordPress site in the
/wp-content/plugins
folder or install via the WordPress admin. - Activate it from the WordPress plugin admin screen.
- Use the API to display the subtitle in your theme.
For full details on the API and how to display the subtitle, view the documentation here.
Reviews
4.1 out of 5 stars
- Version: 3.4.1
- Last updated: 5 months ago
- Active installations: 10K
- WordPress version: 5.6
- Tested up to: 6.5.5
- PHP version: 5.6