Advanced title and Content fields
Last updated
Last updated
With these options you can combine or replace more fields to the title and description field. There are two default variables:
{titlefield}
- this is the default title value
{descriptionfield}
- the default description value
..as well as a number of special variables.
These variables are automatically set from the result fields:
{__id}
- The post ID
{__content}
- The post content
{__title}
- The post title
{__post_type}
- The post type slug
{__image}
- Image URL parsed by Ajax Search Pro
{__link}
- The final result link
{__date}
- The post date
{__author}
- Post author name
Anything besides these inside "{}" crates is treated as a custom field name or taxonomy name if prefixed with '_taxonomy_' or '__tax_' words. These fields support HTML tags as well.
For advanced title and content fields for user results, please check this documentation after uderstanding this chapter.
This will print the content of the custom field (post meta) named 'custom_field'.
{custom_field}
There are also some accepted arguments:
{custom_field maxlength=130 separator=' '}
maxlength (int) - Maximum overall length of the resulting field string
separator - (string) separator between the items when the value is an array. Default: ' '
This prints the content of a user meta field, of the author of the current post type object. If you are looking for advanced title and content fields for user results, please check this documentation.
{__um_custom_field}
With arguments:
{__um_custom_field maxlength=130}
maxlength (int) - Maximum overall length of the resulting field string
{_taxonomy_category}
or{__tax_category}
This will print 5 items from the category taxonomy, separated by comma. These values are changeable via arguments, as well as other things:
{__tax_category count=5 separator=', ' orderby='name' order='ASC' exclude='1' maxlength=130}
count - (int) number of terms to print, default: 5
separator - (string) separator between the items, default: ', '
orderby - (string) the ordering criteria ( 'name', 'slug', 'term_group', 'term_id', 'id', 'description', 'parent'), default: 'name'
order - (string) the ordering direction ('ASC', 'DESC'), default 'ASC'
exclude - (string) comma separated list of excluded terms from the list, default: '1' (aka. the Uncategorized category)
maxlength (int) - Maximum overall length of the resulting field string
For date fields such as Events calendar or other plugin date fields, the date_format argument can be used to pass the date format. The list of accepted PHP date format parameters can be found here.
..will output:
For numeric custom fields number formatting can be applied via declaring the type="number"
argument.
thousand_separator - (string) the thousand separator characer(s)
decimals - (int) number of decimal places to display
decimal_separator - (string) the decimal separator character(s)
Output:
Custom fields referencing post type object IDs can be handled with the is_post_id=1 argument. When this argument is set the plugin instead of printing the value gets the post title field and prints that.
Printing the The Events Calendar plugin Venue and Organizer names
Output:
Because the square brackets are used for conditional brackets, using shortcodes is possible via double square brackets.
To use a shortcode [my_shortcode]
in the field, the brackets have to be doubled so it becomes [[my_shortcode]]
Shortcodes should not be used within conditional brackets. The shortcode contents are executed after the conditional brackets are evaluated, therefore they don't have any effect on the conditionals.
Custom fields, taxonomy terms or special variables can be used within the shortcode as arguments. This is useful if the Post ID or any other values should be passed to the shortcode.
For example:
In the example above my_shortcode is called with argument id with the value of the current post ID.
Example 1: You have a custom field called 'location', which holds the location name for each post, and you want to display it before the description, separated by comma.
The simplest solution would be:
You can use HTML tags in this field as well, so let's display the location in bold letters:
Example 2: You have WooCommerce installed and you want to output the title in the following format: "Product name - 10$"
In this case the _price custom field holds the price of a product. Then simply try the following input in the Advanced title field:
Note, that you don't need the currency symbol, the plugin will automatically detect and display it along with the formatted price! (only works with WooCommerce)
Equivalently, as in the previous example, displaying the price in strong letters:
Other notable WooCommerce fields:
_price_html
- will display the original output of the price field, requested from WooCommerce, this includes the regular and sale price when available, like: 25.00$ 22.00$
_regular_price
- the regular price
_sale_price
- the sale price
_tax_price -
price with added tax
_sku
- The product SKU field
Example 3: You want to display 2 post categories before the post content, separated by space.
The category taxonomy contains the post categories, so the syntax is:
Resulting in:
Notice, that the taxonomy field is placed into a paragraph, so it shows up in a new line.
Only available since version 4.11
Conditional brackets are used to display custom fields, only if they have values, simple as that. If the fields in the conditional brackets does not have value or does not exist, then everything in the bracket is ignored.
..where {field1} to {fieldN} is replaced with their values, and the text between the fields is displayed as it is. HTML is supported. If any of the fields is empty or does not exist, then nothing from the brackets is displayed. This becomes especially handy, if the custom fields are only set on some of the post type objects.
You have WooCommerce and want to display some text and the price in the title, but some items does not have prices. Like so: Item title - Price: 10.0$
You need to use conditional brackets, as you don't want to display the '- Price' text if there is no price set:
This will result in:
You have WooCommerce and want to display some text and the sale price, if not on sale, then the regular price in the title - but some items does not have prices. Like so: Item title - Now only: 9$ instead of - 10.0$
You need to use conditional brackets, as you don't want to display the '- Price' text if there is no price set:
This will result in:
This one is the exact one that's used on the property search example as seen on the demo site. We have fields re_property_type, re_price, re_bedrooms, re_bathrooms and re_area custom fields, attached to a real estate custom post type. As the fields name imply, they contain the property type, price, bedrooms and bathrooms count and the area in sq feet.
We use the following Advanced description field code to display those fields:
..which displays as: