Add type param to search shortcode
This commit is contained in:
parent
e39ddb8bde
commit
e09fb47758
@ -1086,20 +1086,27 @@ add_shortcode( 'fictioneer_contact_form', 'fictioneer_shortcode_contact_form' );
|
||||
*
|
||||
* @param string|null $attr['simple'] Optional. Hide the advanced options.
|
||||
* @param string|null $attr['placeholder'] Optional. Placeholder text.
|
||||
* @param string|null $attr['type'] Optional. Default post type to query.
|
||||
*
|
||||
* @return string The rendered shortcode HTML.
|
||||
*/
|
||||
|
||||
function fictioneer_shortcode_search( $attr ) {
|
||||
// Setup
|
||||
$args = ['cache' => true];
|
||||
$args = array( 'cache' => true );
|
||||
$simple = isset( $attr['simple'] ) ? $attr['simple'] == 'true' || $attr['simple'] == '1' : false;
|
||||
$placeholder = $attr['placeholder'] ?? false;
|
||||
$type = $attr['type'] ?? false;
|
||||
|
||||
// Prepare arguments
|
||||
if ( $simple ) $args['simple'] = $simple;
|
||||
|
||||
if ( $placeholder ) $args['placeholder'] = $placeholder;
|
||||
|
||||
if ( $type && in_array( $type, ['any', 'story', 'chapter', 'recommendation', 'collection', 'post'] ) ) {
|
||||
$args['preselect_type'] = in_array( $type, ['story', 'chapter', 'recommendation', 'collection'] ) ? "fcn_$type" : $type;
|
||||
}
|
||||
|
||||
// Buffer
|
||||
ob_start();
|
||||
|
||||
|
@ -6,9 +6,10 @@
|
||||
* @subpackage Fictioneer
|
||||
* @since 5.0
|
||||
*
|
||||
* @internal $args['simple'] Optional. Hide advanced options.
|
||||
* @internal $args['placeholder'] Optional. Change search placeholder.
|
||||
* @internal $args['cache'] Whether to account for active caching.
|
||||
* @internal $args['simple'] Optional. Hide advanced options.
|
||||
* @internal $args['placeholder'] Optional. Change search placeholder.
|
||||
* @internal $args['preselect_type'] Optional. Default post type to query.
|
||||
* @internal $args['cache'] Whether to account for active caching.
|
||||
*/
|
||||
?>
|
||||
|
||||
@ -20,7 +21,7 @@ $cache_mode = isset( $args['cache'] ) && $args['cache'];
|
||||
$show_advanced = ! get_option( 'fictioneer_disable_theme_search' ) && ! $simple_mode;
|
||||
$placeholder = $args['placeholder'] ?? _x( 'Search keywords or phrase', 'Advanced search placeholder.', 'fictioneer' );
|
||||
$toggle_id = wp_unique_id( 'fictioneer-advanced-search-toggle-' );
|
||||
$post_type = $_GET['post_type'] ?? 'any';
|
||||
$post_type = $_GET['post_type'] ?? $args['preselect_type'] ?? 'any';
|
||||
$sentence = $_GET['sentence'] ?? '0';
|
||||
$order = $_GET['order'] ?? 'desc';
|
||||
$orderby = $_GET['orderby'] ?? 'modified';
|
||||
|
Loading…
x
Reference in New Issue
Block a user