Skip to content

Latest commit

 

History

History
1374 lines (1078 loc) · 69.9 KB

FILTERS.md

File metadata and controls

1374 lines (1078 loc) · 69.9 KB

Filters

The following filter hooks can be used to customize the output of action hooks and other functions without having to modify said functions. Filters can be easily added or overwritten in child themes or plugins. See includes/functions/hooks/.

Example: Add link to subscription options

This is an example of how to add a link to the subscription popup menu via the 'fictioneer_filter_subscribe_buttons' hook. The link will feature a Font Awesome link icon and be added in first place. Note how the link is pulled from the author’s meta data, which you would need to add yourself as it does not exist outside this example.

// Add this to your child theme's functions.php
function child_theme_extend_watch_buttons( $buttons, $post_id, $author_id ) {
  // Get link from author meta (not a real field)
  $link = get_the_author_meta( 'your_custom_link', $author_id );
  $link_html = '<a href="' . esc_url( $link ) . '" target="_blank" rel="noopener" class="_align-left"><i class="fa-solid fa-link"></i> <span>Link</span></a>';

  // Prepend link in first place
  array_splice( $buttons, 0, 0, $link_html );

  // Return filtered buttons
  return $buttons;
}
add_filter( 'fictioneer_filter_subscribe_buttons', 'child_theme_extend_watch_buttons', 10, 3 );

apply_filters( 'fictioneer_filter_admin_settings_navigation', $tabs )

Filters the intermediate output array of the tab pills inside the fictioneer_settings_header( $tab ) function before it is imploded and rendered. The active tab is set via the 'page' query parameter and defaults to 'general'.

$tabs:

  • $general (string) – Link to the general settings tab.
  • $connections (string) – Link to the connections settings tab.
  • $phrases (string) – Link to the phrases settings tab.
  • $epubs (string) – Link to the ePUBs settings tab.
  • $seo (string) – Link to the SEO settings tab (if enabled).
  • $tools (string) – Link to the tools tab.
  • $logs (string) – Link to the logs tab.

apply_filters( 'fictioneer_filter_ajax_get_user_data', $data, $user )

Filters the data to be returned as JSON by the fictioneer_ajax_get_user_data() function, which is used to set up the user’s local environment with Follows, Checkmarks, Reminders, and so forth to get around caching. Note that this function is accelerated and skips the WordPress initialization, as well as most plugins if the optional MU plugin has been installed.

$data:

  • $user_id (int) – The user ID.
  • $timestamp (int) – Milliseconds elapsed since the epoch.
  • $follows (array|false) – The user’s Follows data or false if disabled.
  • $reminders (array|false) – The user’s Reminders data or false if disabled.
  • $checkmarks (array|false) – The user’s Checkmarks data or false if disabled.
  • $bookmarks (string) – The user’s Bookmarks JSON as string. '{}' if disabled.
  • $fingerprint (string) – The user’s unique hash.

Parameters:

  • $user (WP_User) – The user object.

apply_filters( 'fictioneer_filter_allowed_orderby', $defaults )

Filters the array of allowed orderby arguments for WP_Query.

$defaults:

  • $0 (string) – modified
  • $0 (string) – date
  • $0 (string) – title
  • $0 (string) – rand

apply_filters( 'fictioneer_filter_article_card_footer', $footer_items, $posts )

Filters the intermediate output array in the _article-cards.php partial before it is imploded and rendered. Contains statistics with icons such as the author, publishing or modified date, and comments.

$footer_items:

  • $author (string|null) – Conditional. HTML for the author.
  • $publish_date (string) – Conditional. HTML for the publish date.
  • $modified_date (string) – Conditional. HTML for the modified date.
  • $comments (string) – HTML for the number of comments.

Parameters

  • $post (WP_Post) – The post object.

apply_filters( 'fictioneer_filter_breadcrumbs_array', $breadcrumbs, $args )

Filters the array of breadcrumb tuples inside the fictioneer_get_breadcrumbs( $args ) function before the HTML is build.

$breadcrumbs:

  • $0 (string) – Label of the breadcrumb.
  • $1 (string|boolean|null) – URL of the breadcrumb or falsy.

$args:

  • $post_type (string|null) – Current post type. Unsafe.
  • $post_id (int|null) – Current post ID. Unsafe.

apply_filters( 'fictioneer_filter_card_control_icons', $icons, $story_id, $chapter_id )

Filters the intermediate output array of the card control icons inside the fictioneer_get_card_controls( $story_id, $chapter_id ) function before being rendered. Note that card controls will not be rendered without a story ID.

$icons:

  • $sticky (string) – HTML of the sticky icon (if enabled).
  • $reminder (string) – HTML of the Reminder icon (if enabled).
  • $follow (string) – HTML of the Follow icon (if enabled).
  • $checkmark (string) – HTML of the checkmark icon (if enabled).

Parameters:

  • $story_id (int) – ID of the story.
  • $chapter_id (int|null) – ID of the chapter (if chapter).

apply_filters( 'fictioneer_filter_card_control_menu', $menu, $story_id, $chapter_id )

Filters the intermediate output array of the card control popup menu inside the fictioneer_get_card_controls( $story_id, $chapter_id ) function before being rendered. Note that card controls will not be rendered without a story ID.

$menu:

  • $follow (string) – HTML of the Follow buttons (if enabled).
  • $reminder (string) – HTML of the Reminder buttons (if enabled).
  • $checkmark (string) – HTML of the checkmark buttons (if enabled).

Parameters:

  • $story_id (int) – ID of the story.
  • $chapter_id (int|null) – ID of the chapter (if chapter).

apply_filters( 'fictioneer_filter_chapter_card_footer', $footer_items, $post, $story, $args )

Filters the intermediate output array in the _card-chapter.php partial before it is imploded and rendered. Contains statistics with icons such as the number of words, publishing date, comments, and so forth.

$footer_items:

  • $words (string) – HTML for the word count.
  • $publish_date (string) – Conditional. HTML for the publish date.
  • $modified_date (string) – Conditional. HTML for the modified date.
  • $author (string) – Conditional. HTML for the author.
  • $comments (string) – HTML for the number of comments.

Parameters

  • $post (WP_Post) – The post object.
  • $story (array|null) – Optional. Chapter story data.
  • $args (array) – Arguments passed to the partial.

apply_filters( 'fictioneer_filter_chapter_default_formatting', $formatting )

Filters the default chapter formatting settings. The passed array is empty because the default values are also set on the frontend. You only need this filter if you want to change that. Note that the values for font-color, font-name, and site-width should not be overridden.

$formatting:

  • $formatting['font-saturation'] (int) – Start value of the font saturation. Default 0.
  • $formatting['font-size'] (int) – Start value of the font size. Default 100.
  • $formatting['letter-spacing'] (float) – Start value of the letter spacing. Default 0.
  • $formatting['line-height'] (float) – Start value of the line height. Default 1.7.
  • $formatting['paragraph-spacing'] (float) – Start value of the paragraph spacing. Default 1.5.
  • $formatting['indent'] (boolean) – Whether the text has an indent. Default true.
  • $formatting['justify'] (boolean) – Whether the text is justified. Default false.
  • $formatting['show-chapter-notes'] (boolean) – Whether chapter notes are shown. Default true.
  • $formatting['show-paragraph-tools'] (boolean) – Whether the paragraph tools can be toggled. Default true.
  • $formatting['show-comments'] (boolean) – Whether the comment section is shown. Default true.
  • $formatting['show-sensitive-content'] (boolean) – Whether sensitive content is shown. Default true.

apply_filters( 'fictioneer_filter_chapter_identity', $output, $args )

Filters the intermediate output array in the _chapter_-header.php partial before it is imploded and rendered. Contains the HTML for the story link, chapter title (safe), and author meta nodes (see fictioneer_get_chapter_author_nodes()). Any of these items may be missing depending on the chapter’s configuration.

$output:

  • $link (string) – HTML for the story back link. Unsafe.
  • $title (string) – HTML for the chapter title <h1>. Unsafe.
  • $meta (string) – HTML for the chapter author(s) row. Unsafe.

Parameters:

  • $args (array) – Array of story and chapter data. See partial.

apply_filters( 'fictioneer_filter_chapter_micro_menu', $micro_menu, $args )

Filters the intermediate output array of the chapter micro menu in the fictioneer_get_chapter_micro_menu( $args ) function before it is imploded and rendered.

$micro_menu:

  • $chapter_list (string) – Chapter panel in the mobile menu (if any).
  • $story_link (string) – Link to the chapter’s story (if any).
  • $formatting (string) – Chapter formatting modal.
  • $open_fullscreen (string) – Enter fullscreen view (not on iOS).
  • $close_fullscreen (string) – Exit fullscreen view (not on iOS).
  • $bookmark_jump (string) – Scroll to the bookmark.
  • $previous (string) – Link to the previous chapter (if any).
  • $top (string) – Anchor to the top of the page.
  • $next (string) – Link to the next chapter (if any).

$args:

  • $author (WP_User) – Author of the chapter.
  • $story_post (WP_Post|null) – Post object of the story. Unsafe.
  • $story_data (array|null) – Collection of story data. Unsafe.
  • $chapter_id (int) – Chapter ID.
  • $chapter_title (string) – Safe chapter title.
  • $chapter_password (string) – Chapter password or empty string.
  • $chapter_ids (array) – IDs of visible chapters in the same story or empty array.
  • $current_index (int) – Current index in the chapter list.
  • $prev_index (int|boolean) – Index of previous chapter or false.
  • $next_index (int|boolean) – Index of next chapter or false.

apply_filters( 'fictioneer_filter_chapter_support_links', $support_links, $args )

Filters the intermediate output array of the chapter support links in the fictioneer_chapter_support_links( $args ) function before it is looped and rendered. Each item is another array with 'label', 'icon' markup, and 'link'.

$support_links:

  • $topwebfiction (string|null) – Link to www.topwebfiction.com for the story. Unsafe.
  • $patreon (string|null) – Link to the author’s Patreon page. Unsafe.
  • $kofi (string|null) – Link to the author’s Ko-Fi page. Unsafe.
  • $subscribestar (string|null) – Link to the author’s SubscribeStar page. Unsafe.
  • $paypal (string|null) – Donation link to the author’s PayPal. Unsafe.
  • $donation (string|null) – Generic donation link. Unsafe.

$args:

  • $author (WP_User) – Author of the chapter.
  • $story_post (WP_Post|null) – Post object of the story. Unsafe.
  • $story_data (array|null) – Collection of story data. Unsafe.
  • $chapter_id (int) – Chapter ID.
  • $chapter_title (string) – Safe chapter title.
  • $chapter_password (string) – Chapter password or empty string.
  • $chapter_ids (array) – IDs of visible chapters in the same story or empty array.
  • $current_index (int) – Current index in the chapter list.
  • $prev_index (int|boolean) – Index of previous chapter or false.
  • $next_index (int|boolean) – Index of next chapter or false.

apply_filters( 'fictioneer_filter_chapters_card_args', $card_args, $args )

Filters the arguments passed to the partials/_card-chapter template part in the fictioneer_chapters_list( $args ) function, normally added via the fictioneer_chapters_after_content hook.

$card_args:

  • $cache (boolean) – Return of fictioneer_caching_active().
  • $order (string) – Current query order argument. Default 'desc'.
  • $orderby (string) – Current query orderby argument. Default 'modified'.
  • $ago (int|string) – Current date query argument part. Default 0.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $chapters (WP_Query) – Paginated query of all visible chapters.
  • $queried_type (string) – 'fcn_chapter'

apply_filters( 'fictioneer_filter_chapters_query_args', $query_args, $post_id )

Filters the arguments to query the chapters in the chapters.php template.

$query_args:

  • $fictioneer_query_name (string) – 'chapters_list'
  • $post_type (string) – 'fcn_chapter'
  • $post_status (string) – 'publish'
  • $order (string) – 'DESC' or 'ASC'
  • $orderby (string) – 'modified', 'date', 'title', or 'rand'
  • $paged (int) – Current page number or 1.
  • $posts_per_page (int) – get_option( 'posts_per_page' )
  • $update_post_term_cache – ! get_option( 'fictioneer_hide_taxonomies_on_chapter_cards' )
  • $meta_query (array)
    • $relation (string) – 'OR'
    • (array)
      • $key – 'fictioneer_chapter_hidden'
      • $value – '0'
    • (array)
      • $key – 'fictioneer_chapter_hidden'
      • $compare – 'NOT EXISTS'
  • $date_query – fictioneer_append_date_query()

Parameters:

  • $post_id (int) – Current post ID.

apply_filters( 'fictioneer_filter_collection_card_footer', $footer_items, $post, $args, $items )

Filters the intermediate output array in the _card-collection.php partial before it is imploded and rendered. Contains statistics with icons such as the number of stories and chapters, publishing date, comments, and so forth.

$footer_items:

  • $stories (string) – HTML for the number of stories.
  • $chapters (string) – HTML for the number of chapters.
  • $words (string) – HTML for the collective word count.
  • $publish_date (string) – Conditional. HTML for the publish date.
  • $modified_date (string) – Conditional. HTML for the modified date.
  • $comments (string) – HTML for the number of comments.

Parameters

  • $post (WP_Post) – The collection post object.
  • $args (array) – Arguments passed to the partial.
  • $items (WP_Post[]) – Array of featured posts (if any).

apply_filters( 'fictioneer_filter_collections_card_args', $card_args, $args )

Filters the arguments passed to the partials/_card-collection template part in the fictioneer_collections_list( $args ) function, normally added via the fictioneer_collections_after_content hook.

$card_args:

  • $cache (boolean) – Return of fictioneer_caching_active().
  • $order (string) – Current query order argument. Default 'desc'.
  • $orderby (string) – Current query orderby argument. Default 'modified'.
  • $ago (int|string) – Current date query argument part. Default 0.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $collections (WP_Query) – Paginated query of all visible collections.
  • $queried_type (string) – 'fcn_collection'

apply_filters( 'fictioneer_filter_collections_query_args', $query_args, $post_id )

Filters the arguments to query the collections in the collections.php template.

$query_args:

  • $fictioneer_query_name (string) – 'collections_list'
  • $post_type (string) – 'fcn_collection'
  • $post_status (string) – 'publish'
  • $order (string) – 'DESC' or 'ASC'
  • $orderby (string) – 'modified', 'date', 'title', or 'rand'
  • $paged (int) – Current page number or 1.
  • $posts_per_page (int) – get_option( 'posts_per_page' )
  • $update_post_term_cache – ! get_option( 'fictioneer_hide_taxonomies_on_collection_cards' )
  • $date_query – fictioneer_append_date_query()

Parameters:

  • $post_id (int) – Current post ID.

apply_filters( 'fictioneer_filter_comments', $comments, $post_id )

Filters the queried comments in the comments.php template and fictioneer_ajax_get_comment_section() function.

Parameters:

  • $comments (array) – The queried comments.
  • $post_id (int) – Current post ID.

Hooked Filters:

  • fictioneer_shift_sticky_comments( $comments ) – Shift sticky comments to the top. Priority 10.

apply_filters( 'fictioneer_filter_comment_badge', $output, $user, $args )

Filters the HTML of the fictioneer_get_comment_badge( $user, $comment, $post_author_id ) function before it is returned for rendering. The badge class and label are inserted into <div class="fictioneer-comment__badge CLASS"><span>LABEL</span></div>. Possible label classes are is-author, is-admin, is-moderator, is-supporter, and badge-override.

Parameters:

  • $output (string) – Complete HTML of the comment badge or empty string.
  • $user (WP_User|null) – The user object. Unsafe.

$args:

  • $badge (string) – Label of the badge or empty string.
  • $class (string) – Class of the badge or empty string.
  • $comment (WP_Comment|null) – Comment object or null if called outside a comment.
  • $post_author_id (int) – ID of the author of the post the comment is for or 0.

apply_filters( 'fictioneer_filter_comment_list_args', $list_args )

Filters the modified arguments used in retrieving the comment list, both for static rendering and AJAX. This is an additional filter hooked into 'wp_list_comments_args' before the arguments are applied to the wp_list_comments( $args, $comments ) core function. Note that comment list arguments are somewhat peculiar and may not behave as you expect.

$list_args:

  • $avatar_size (int) – 32
  • $style (string) – 'ol'
  • $type (string) – 'all'
  • $per_page (string) – get_option( 'comments_per_page' )
  • $max_depth (string) – get_option( 'thread_comments_depth' )
  • $commentcode (string|boolean) – Commentcode or false (only used with AJAX).
  • $post_author_id (int) – The post author ID or 0 (only used with AJAX).
  • $page (int|null) – Current comment page or 1 if theme comment query is enabled.
  • $reverse_top_level (boolean|null) – false if theme comment query is enabled.
  • $reverse_children (boolean|null) – true if theme comment query is enabled.
  • $callback (string|null) – 'fictioneer_theme_comment' if theme comment callback is enabled.

apply_filters( 'fictioneer_filter_comments_query', $args, $post_id )

Filters the arguments passed to WP_Comment_Query() in the comments.php template and fictioneer_ajax_get_comment_section() function. The default arguments depend on the 'fictioneer_disable_comment_query' option.

$args:

  • $post_id (int) – Current post ID.
  • $type (array|string) – ['comment', 'private'] or WP default.
  • $order (string) – get_option( 'comment_order' ) or WP default.
  • $type__not_in (string|null) - null or 'private' (theme query disabled).

Parameters:

  • $post_id (int) – Current post ID.

apply_filters( 'fictioneer_filter_comment_reply_mail', $mail, $parent, $comment_id, $commentdata )

Filters the content of the comment reply notification email in the fictioneer_comment_notification( $parent, $comment_id, $commentdata ) function. The filter will not trigger if the reply is empty, the parent has no email address or is not flagged to receive notifications.

$mail:

  • $to (string) – Author email address of the parent comment that was replied to.
  • $subject (string) – Email subject.
  • $message (string) – Email body.
  • $headers (string) – Email headers.
  • $attachments (array) – Email attachment. Empty by default.

Parameters:

  • $parent (WP_Comment) – Comment object of the parent comment that was replied to.
  • $comment_id (int) – ID of the reply comment.
  • $commentdata (array) – Fields of the reply comment.

apply_filters( 'fictioneer_filter_contact_form_fields', $fields, $post_id )

Filters the form fields of the fictioneer_contact_form shortcode.

Parameters:

  • $fields (array) – HTML of the currently set fields.
  • $post_id (int|null) – Current post ID. Unsafe since this may be an archive, author, etc.

apply_filters( 'fictioneer_filter_customizer_{theme_option}', $choices )

Filters the choices arrays of select theme options. Combined with the fictioneer_filter_pre_build_customize_css filter, you can append own options and the requires styles. Available options: header_image_style, header_style, page_style, card_style, content_list_style, and footer_style.

Refer to /includes/functions/_customizer-settings.php to see the default choices.


apply_filters( 'fictioneer_filter_css_snippet_{snippet}', $css )

Filters the CSS snippet for certain theme options before they are appended to the customize.css building string.

Refer to /includes/functions/_customizer.php to see all snippets.


apply_filters( 'fictioneer_filter_falsy_meta_allow_list', $allowed )

Filters the array of meta keys allowed to be saved as "falsy" ("", 0, null, false, []) instead of being deleted when updated via theme functions. Applies to post, comment, and user meta fields. This does not affect the core update functions. See fictioneer_update_user_meta(…), fictioneer_update_comment_meta(…), and fictioneer_update_post_meta(…).

Parameters:

  • $allowed (array) – Array of allowed meta keys. Default empty.

apply_filters( 'fictioneer_filter_fonts', $fonts )

Filters the return array of the fictioneer_get_fonts() function, used to set up the chapter font options.

Parameters:

  • $fonts (array) – Numeric array of font items with CSS name (css), display name (name), and fallbacks (alt).

apply_filters( 'fictioneer_filter_font_colors', $colors )

Filters the return array of the fictioneer_get_font_colors() function, used to set up the chapter font color options.

Parameters:

  • $fonts (array) – Numeric array of color items with CSS name (css) and display name (name).

apply_filters( 'fictioneer_filter_font_data', $fonts )

Filters the font array compiled from all valid font folders and Google Fonts links in both the parent and child theme. Note that the fictioneer_get_font_data() function reads the file system, which is potentially slow.

Parameters:

  • $fonts (array) – Array of font data.

apply_filters( 'fictioneer_filter_header_image', $header_image_url, $post_id )

Filters the URL of the header image in the header.php template.

Parameters:

  • $header_image_url (string) – URL of the current header image, either global or custom.
  • $post_id (int|null) – Current post ID. Unsafe since this may be an archive, author, etc.

apply_filters( 'fictioneer_filter_inline_storage', $attributes )

Filters the intermediate output array (tuples) for the #inline-storage data attributes before it is mapped, imploded, and rendered in the header.php template. These values are important for several scripts and stored in the fcn_inlineStorage JavaScript constant.

attributes:

  • $permalink (['data-permalink', string]) – Escaped current URL.
  • $homelink (['data-homelink', string]) – Escaped home URL.
  • $post_id (['data-post-id', int|null]) – Current post ID. Unsafe since this may be an archive, author, etc.
  • $story_id (['data-story-id', int|null]) – Current story ID (if story or chapter). Unsafe.

apply_filters( 'fictioneer_filter_is_admin', $check, $user_id )

Filters the boolean return value of the fictioneer_is_admin( $user_id ) function. This may be handy if you want to use custom roles or account for other factors not covered by default capabilities. Beware, the result determines whether the user can perform administrator actions.

Parameters:

  • $check (boolean) – True or false.
  • $user_id (int) – The tested user ID.

apply_filters( 'fictioneer_filter_is_author', $check, $user_id )

Filters the boolean return value of the fictioneer_is_author( $user_id ) function. This may be handy if you want to use custom roles or account for other factors not covered by default capabilities. Beware, the result determines whether the user can publish posts but does not necessarily reflect the author role since other roles can publish posts too.

Parameters:

  • $check (boolean) – True or false.
  • $user_id (int) – The tested user ID.

apply_filters( 'fictioneer_filter_is_moderator', $check, $user_id )

Filters the boolean return value of the fictioneer_is_moderator( $user_id ) function. This may be handy if you want to use custom roles or account for other factors not covered by default capabilities. Beware, the result determines whether the user can moderate comments and users but does not necessarily reflect a role since there is no default moderator role.

Parameters:

  • $check (boolean) – True or false.
  • $user_id (int) – The tested user ID.

apply_filters( 'fictioneer_filter_is_editor', $check, $user_id )

Filters the boolean return value of the fictioneer_is_editor( $user_id ) function. This may be handy if you want to use custom roles or account for other factors not covered by default capabilities. Beware, the result determines whether the user can perform editor actions.

Parameters:

  • $check (boolean) – True or false.
  • $user_id (int) – The tested user ID.

apply_filters( 'fictioneer_filter_list_chapter_prefix', $prefix )

Filters the prefix string (if any) in front of a chapter title before it is rendered in the _story-content.php partial or fictioneer_chapter_list shortcode. Useful if you want to add a wrapper for styling purposes.

Parameters:

  • $prefix (string) – Chapter prefix.

apply_filters( 'fictioneer_filter_list_chapter_meta_row', $output, $data, $args )

Filters the intermediate output array in the fictioneer_get_list_chapter_meta_row( $data, $args ) function before it is imploded and returned in the _story-content.php partial or fictioneer_chapter_list shortcode.

output:

  • $warning (string|null) – Optional. Warning node.
  • $password (string|null) – Optional. Password node.
  • $date (string) – Time node.
  • $words (string) – Words node.

data:

  • $id (int) – ID of the chapter.
  • $warning (string) – Warning note or empty string.
  • $password (boolean) – Whether the chapter requires a password.
  • $timestamp (string) – Timestamp as ISO 8601 format.
  • $list_date (string) – Displayed chapter date for the list view.
  • $grid_date (string|null) – Optional. Displayed chapter date for the grid view.
  • $words (int) – Chapter word count.

args:

  • $grid (boolean|null) – Optional. true if the row needs to account for grid view.

apply_filters( 'fictioneer_filter_metabox_{meta_box}', $output, $post )

Filters the intermediate output array for meta box fields before it is imploded and rendered, see _meta_fields.php. The dynamic part of the hook can be story_meta, story_data, story_epub, chapter_meta, chapter_data, advanced, support_links, post_data, collection_data, and recommendation_data.

Parameters:

  • $output (array) – Captured HTML of meta fields to be rendered.
  • $post (WP_Post) – The post object.

apply_filters( 'fictioneer_filter_metabox_updates_{type}', $fields, $post_id )

Filters the sanitized POST meta box fields before they are saved, see _meta_fields.php. The dynamic part of the hook can be story, chapter, advanced, support_links, post, collection, and recommendation.

Parameters:

  • $output (array) – Captured HTML of meta fields to be rendered.
  • $post_id (int) – The post ID.

apply_filters( 'fictioneer_filter_mobile_quick_buttons', $buttons )

Filters the intermediate output array of the fictioneer_mobile_quick_buttons() function before it is imploded and rendered via the fictioneer_mobile_menu_bottom hook. By default and depending on the page, the output can contain buttons to darken and brighten the site, toggle chapter options, open the formatting modal, or change site settings.

$buttons:

  • $minimalist (string) – Toggles the minimalist mode.
  • $darken (string) – Darken the site by 20 percent.
  • $brighten (string) – Brighten the site by 20 percent.
  • $justify (string) – Toggle chapter text justify.
  • $indent (string) – Toggle chapter line indents.
  • $formatting (string) – Chapter formatting modal.
  • $previous_font (string) – Previous chapter font.
  • $next_font (string) – Next chapter font.
  • $covers (string) – Toggle display of cover images site-wide.
  • $textures (string) – Toggle display of background textures site-wide.
  • $polygons (string) – Toggle display of polygons site-wide.

apply_filters( 'fictioneer_filter_mobile_user_menu_items', $items )

Filters the intermediate output array of the fictioneer_mobile_user_menu() function before it is imploded and rendered via the fictioneer_mobile_menu_main_frame_panels hook. By default and depending on the login status, the output can contain the user’s account, reading lists and bookmarks, the site’s Discord link, modal toggles for chapter formatting and site settings, anchors to the current bookmark and comments section, as well as the logout link.

$items:

  • $account (string) – Link to the user’s account (if set).
  • $search (string) – Link to search form.
  • $site_settings (string) – Site settings modal.
  • $discord (string) – Link to the site’s Discord (if set).
  • $bookshelf (string) – Link to the user’s reading lists (if set).
  • $bookmarks (string) – Link to the user’s bookmarks page (if set).
  • $formatting (string) – Chapter formatting modal. Only in chapters.
  • $comment_jump (string) – Scrolls to the comment section. Only in chapters.
  • $bookmark_jump (string) – Scrolls to the current bookmark. Only in chapters.
  • $logout (string) – Logout link.
  • $login (string) – Login modal.

apply_filters( 'fictioneer_filter_obfuscation_string', $obfuscation, $post )

Filters the obfuscation string generated for chapter spoilers and protected posts.

Parameters:

  • $obfuscation (string) – The obfuscation string.
  • $post (WP_Post) – The post object.

apply_filters( 'fictioneer_filter_page_card_footer', $footer_items, $post, $args )

Filters the intermediate output array in the _card-page.php partial before it is imploded and rendered. Contains statistics with icons such as the author, publishing date, and comments.

$footer_items:

  • $author (string) – Conditional. HTML for the author.
  • $publish_date (string) – HTML for the publish date.
  • $comments (string) – HTML for the number of comments (if more than 0).

Parameters

  • $post (WP_Post) – The page post object.
  • $args (array) – Arguments passed to the partial.

apply_filters( 'fictioneer_filter_post_card_footer', $footer_items, $post, $args )

Filters the intermediate output array in the _card-post.php partial before it is imploded and rendered. Contains statistics with icons such as the author, publishing date, and comments.

$footer_items:

  • $author (string) – Conditional. HTML for the author.
  • $publish_date (string) – HTML for the publish date.
  • $comments (string) – HTML for the number of comments.

Parameters

  • $post (WP_Post) – The post object.
  • $args (array) – Arguments passed to the partial.

apply_filters( 'fictioneer_filter_post_meta_items', $output, $args )

Filters the intermediate output array of the fictioneer_get_post_meta_items() function before it is imploded and returned.

$output:

  • $date (string) – HTML of the post date.
  • $author (string) – HTML of the author name and link.
  • $category (string) – HTML of the post category/categories.
  • $comments (string) – HTML of the comment link with comment number.

$args:

  • $no_date (boolean|null) – Whether to hide the date.
  • $no_author (boolean|null) – Whether to hide the author.
  • $no_cat (boolean|null) – Whether to hide the category.
  • $no_comments (boolean|null) – Whether to hide the comments.

apply_filters( 'fictioneer_filter_pre_build_bundled_fonts', $fonts )

Filters the font array before the bundled-fonts.css stylesheet is built in the fictioneer_build_bundled_fonts() function. This allows you to add, remove, or change fonts at the last opportunity. Note that the function reads the file system, which is potentially slow. The result is cached in the fictioneer_chapter_fonts option.

Parameters:

  • $fonts (array) – Array of font data.

apply_filters( 'fictioneer_filter_pre_build_customize_css', $css )

Filters the CSS compiled from settings and theme options before it is minified and saved under /cache/customize.css. You can potentially append your own CSS or modify the current values, although that will require some regex.

Parameters:

  • $css (string) – The compiled customize CSS.

apply_filters( 'fictioneer_filter_recommendations_card_args', $card_args, $args )

Filters the arguments passed to the partials/_card-recommendation template part in the fictioneer_recommendations_list( $args ) function, normally added via the fictioneer_recommendations_after_content hook.

$card_args:

  • $cache (boolean) – Return of fictioneer_caching_active().
  • $order (string) – Current query order argument. Default 'desc'.
  • $orderby (string) – Current query orderby argument. Default 'modified'.
  • $ago (int|string) – Current date query argument part. Default 0.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $recommendations (WP_Query) – Paginated query of all visible recommendations.
  • $queried_type (string) – 'fcn_recommendation'

apply_filters( 'fictioneer_filter_recommendations_query_args', $query_args, $post_id )

Filters the arguments to query the recommendations in the recommendations.php template.

$query_args:

  • $fictioneer_query_name (string) – 'recommendations_list'
  • $post_type (string) – 'fcn_recommendation'
  • $post_status (string) – 'publish'
  • $order (string) – 'DESC' or 'ASC'
  • $orderby (string) – 'publish_date'
  • $paged (int) – Current page number or 1.
  • $posts_per_page (int) – get_option( 'posts_per_page' )
  • $update_post_term_cache – ! get_option( 'fictioneer_hide_taxonomies_on_recommendation_cards' )
  • $date_query – fictioneer_append_date_query()

Parameters:

  • $post_id (int) – Current post ID.

apply_filters( 'fictioneer_filter_removable_query_args', $query_args )

Filters the array of query args to be removed after being parsed on page load.

$query_args:

  • 0 – 'success'
  • 1 – 'failure'
  • 3 – 'fictioneer_nonce'

apply_filters( 'fictioneer_filter_root_attributes', $attributes )

Filters the intermediate output array of the fictioneer_root_attributes() function in the header.php template before it is looped and rendered. Note that the array keys are used as attribute names and include hyphens.

$attributes:

  • $class (string) – CSS classes. Depends on options, can be empty.
  • $data-mode-default (string) – Mode of the site, light or dark. Default 'dark'.
  • $data-site-width-default (string) – Site width in pixels (without unit). Default '960'.
  • $data-theme (string) – Active theme or child theme. Default 'default'.
  • $data-mode (string) – Active theme mode. Default empty (dark).
  • $data-font-weight (string) – Current font weight set (default, thinner, or normal). Default 'default'.
  • $data-primary-font (string) – CSS name of primary font. Default 'Open Sans'.
  • $data-ajax-submit (string|null) – Optional. Toggle to use AJAX comment submit.
  • $data-ajax-nonce (string|null) – Optional. Toggle to load nonce via AJAX.
  • $data-ajax-auth (string|null) – Optional. Toggle to load user login state via AJAX.
  • $data-force-child-theme (string|null) – Optional. Toggle to disable parent theme switch.
  • $data-public-caching (string|null) – Optional. Indicates that public caches are served to all users.
  • $data-ajax-auth (string|null) – Optional. Indicates that the logged-in status of users is set via AJAX.
  • $data-edit-time (string|null) – Optional. Time in minutes that logged-in users can edit their comments.

apply_filters( 'fictioneer_filter_rss_link', $feed, $post_type, $post_id )

Filters the RSS link returned by the fictioneer_get_rss_link( $post_type, $post_id ) function. Note that the function will always return false if the fictioneer_enable_theme_rss option is not enabled, regardless of this filter.

Parameters:

  • $feed (int) – The escaped RSS feed URL, either the main or story (chapters) feed.
  • $post_type (string) – The post type the RSS is for. This can differ from the current post type.
  • $post_id (int) – The post ID the RSS is for. This can differ from the current post ID.

apply_filters( 'fictioneer_filter_safe_title', $title, $post_id )

Filters the string returned by the fictioneer_get_safe_title( $post_id ) function, after all tags and line breaks have been stripped. No further sanitization is applied here, so you can add HTML again.

Parameters:

  • $title (string) – The sanitized title of the post.
  • $post_id (int) – The post ID.

Hooked Filters:

  • fictioneer_prefix_sticky_safe_title( $comments ) – Prepends icon to sticky blog posts.
  • fictioneer_prefix_draft_safe_title( $comments ) – Prepends "Draft:" to drafts.

apply_filters( 'fictioneer_filter_search_title', $html, $args )

Filters the HTML for the search title before it is rendered in the search.php template. The default title follows the "n Search Results" pattern.

Parameters:

  • $html (string) – The title HTML.

$args:

  • $post_type (string|int) – Selected post type option or 0.
  • $sentence (string|int) – Selected match option or 0.
  • $order (string|int) – Selected sort option or 0.
  • $orderby (string|int) – Selected order by option or 0.
  • $queried_genres (string|int) – Comma-separated list of selected genres to include or 0.
  • $queried_fandoms (string|int) – Comma-separated list of selected fandoms to include or 0.
  • $queried_characters (string|int) – Comma-separated list of selected characters to include or 0.
  • $queried_warnings (string|int) – Comma-separated list of selected warnings to include or 0.
  • $queried_tags (string|int) – Comma-separated list of selected tags to include or 0.
  • $queried_ex_genres (string|int) – Comma-separated list of selected genres to exclude or 0.
  • $queried_ex_fandoms (string|int) – Comma-separated list of selected fandoms to exclude or 0.
  • $queried_ex_characters (string|int) – Comma-separated list of selected characters to exclude or 0.
  • $queried_ex_warnings (string|int) – Comma-separated list of selected warnings to exclude or 0.
  • $queried_ex_tags (string|int) – Comma-separated list of selected tags to exclude or 0.
  • $is_advanced_search (boolean) – Whether advanced search option have been selected or not.

apply_filters( 'fictioneer_filter_shortcode_article_cards_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_article_cards shortcode. The optional taxonomy arrays can include categories, tags, fandoms, genres, and characters.

$query_args:

  • $fictioneer_query_name (string) – 'article_cards'
  • $post_type (array) – '$args['post_type']'
  • $post_status (string) – 'publish'
  • $ignore_sticky_posts (boolean) – $args['ignore_sticky']
  • $post__in (array|null) – $args['post_ids']
  • $order (string) – $args['order']
  • $orderby (string) – $args['orderby']
  • $paged (int) – Current main query page number.
  • $posts_per_page (int) – $args['posts_per_page'] or $args['count']
  • $author_name (string|null) – $args['author']
  • $author__in (array|null) – $args['author_ids']
  • $author__not_in (array|null) – $args['excluded_authors']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $tax_query (array|null) – fictioneer_get_shortcode_tax_query( $args )
  • $no_found_rows (boolean|null) – true if $args['count'] > 0

$args:

  • $post_type (array) – The post types to query. Default \['post'].
  • $ignore_sticky (boolean) – Whether to ignore sticky posts. Default false.
  • $ignore_protected (boolean) – Whether to ignore protected posts. Default false.
  • $count (int) – Maximum number of posts. Default -1.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $order (string) – Order argument. Default 'DESC'.
  • $orderby (string) – Orderby argument. Default 'date'.
  • $page (int) – Current main query page number. Default 1.
  • $posts_per_page (int) – Number of posts per page. Defaults to WordPress.
  • $post_ids (array) – Limit posts to specific post IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $taxonomies (array) – Array of arrays of required taxonomy names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_shortcode_blog_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_blog shortcode.

$query_args:

  • $fictioneer_query_name (string) – 'blog_shortcode'
  • $post_type (string) – post
  • $post_status (string) – 'publish'
  • $ignore_sticky_posts (boolean) – $args['ignore_sticky']
  • $author_name (string|null) – $args['author']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $paged (int) – Current main query page number.
  • $posts_per_page (int) – $args['posts_per_page']
  • $tax_query (array|null) – fictioneer_get_shortcode_tax_query( $args )

$attr:

  • $posts_per_page (int) – The number of posts per page. Defaults to WordPress.
  • $page (int) – Current main query page number. Default 1.
  • $ignore_sticky (boolean) – Optional. Whether to ignore sticky posts. Default false.
  • $ignore_protected (boolean) – Optional. Whether to ignore protected posts. Default false.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_shortcode_latest_chapters_card_footer', $footer_items, $post, $story, $args )

Filters the intermediate output array in the _latest-chapters.php partial before it is imploded and rendered. Contains statistics with icons such as the number of chapters, words, dates, and so forth.

$footer_items:

  • $words (string) – HTML for the total word count.
  • $publish_date (string) – Conditional. HTML for the publish date.
  • $modified_date (string) – Conditional. HTML for the modified date.
  • $comments (string) – HTML for the number of comments.
  • $status (string|null) – Conditional. HTML for the story status.

Parameters

  • $post (WP_Post) – The post object.
  • $story (array|null) – Optional. Collection of story post data.
  • $args (array) – Arguments passed to the partial.

apply_filters( 'fictioneer_filter_shortcode_latest_chapters_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_latest_chapters shortcode. The optional taxonomy arrays can include categories, tags, fandoms, genres, and characters.

$query_args:

  • $fictioneer_query_name (string) – 'latest_chapters' or 'latest_chapters_compact'
  • $post_type (string) – 'fcn_chapter'
  • $post_status (string) – 'publish'
  • $order (string) – $args['order']
  • $orderby (string) – $args['orderby']
  • $posts_per_page (int) – $args['count'] + 8 (buffer for invalid posts)
  • $post__in (array) – $args['post_ids']
  • $author_name (string|null) – $args['author']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $meta_key (string) – 'fictioneer_chapter_hidden'
  • $meta_value (int) – 0
  • $tax_query (array|null) – fictioneer_get_shortcode_tax_query( $args )
  • $no_found_rows (boolean) – true
  • $update_post_term_cache (boolean) – false

$args:

  • $simple (boolean) – Whether to render the simple variants. Default false.
  • $count (int) – Maximum number of posts. Default -1.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $order (string) – Order argument. Default 'DESC'.
  • $orderby (string) – Orderby argument. Default 'date'.
  • $spoiler (boolean) – Optional. Show preview un-obfuscated. Default false.
  • $source (boolean) – Optional. Show chapter source story. Default true.
  • $post_ids (array) – Limit posts to specific post IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $ignore_protected (boolean) – Whether to ignore protected posts. Default false.
  • $taxonomies (array) – Array of arrays of required taxonomy names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_shortcode_latest_posts_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_latest_posts shortcode. The optional taxonomy arrays can include categories and tags.

$query_args:

  • $fictioneer_query_name (string) – 'latest_posts'
  • $post_type (string) – 'post'
  • $post_status (string) – 'publish'
  • $ignore_sticky_posts (boolean) – true
  • $post__in (array) – $args['post_ids']
  • $order (string) – 'DESC'
  • $orderby (string) – 'date'
  • $posts_per_page (int) – $args['count']
  • $author_name (string|null) – $args['author']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $no_found_rows (boolean) – true
  • $update_post_term_cache (boolean) – false

$args:

  • $count (int) – Maximum number of posts. Default -1.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $post_ids (array) – Limit posts to specific post IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $ignore_protected (boolean) – Whether to ignore protected posts. Default false.
  • $taxonomies (array) – Array of arrays of required taxonomy names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_shortcode_latest_recommendations_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_latest_recommendations shortcode. The optional taxonomy arrays can include categories, tags, fandoms, genres, and characters.

$query_args:

  • $fictioneer_query_name (string) – 'latest_recommendations' or 'latest_recommendations_compact'
  • $post_type (string) – 'fcn_recommendation'
  • $post_status (string) – 'publish'
  • $post__in (array) – $args['post_ids']
  • $order (string) – $args['order']
  • $orderby (string) – $args['orderby']
  • $posts_per_page (int) – $args['count']
  • $author_name (string|null) – $args['author']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $tax_query (array|null) – fictioneer_get_shortcode_tax_query( $args )
  • $no_found_rows (boolean) – true

$args:

  • $count (int) – Maximum number of posts. Default -1.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $order (string) – Order argument. Default 'DESC'.
  • $orderby (string) – Orderby argument. Default 'date'.
  • $post_ids (array) – Limit posts to specific post IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $ignore_protected (boolean) – Whether to ignore protected posts. Default false.
  • $taxonomies (array) – Array of arrays of required taxonomy names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_shortcode_latest_stories_card_footer', $footer_items, $post, $story, $args )

Filters the intermediate output arrays in the _latest-stories.php and _latest-stories-compact.php partials before they are imploded and rendered. Contains statistics with icons such as the number of chapters, words, dates, and so forth.

$footer_items:

  • $chapters (string) – HTML for the number of chapters.
  • $words (string) – HTML for the total word count.
  • $publish_date (string) – Conditional. HTML for the publish date.
  • $modified_date (string) – Conditional. HTML for the modified date.
  • $status (string) – HTML for the status.

Parameters

  • $post (WP_Post) – The post object.
  • $story (array) – Collection of story post data.
  • $args (array) – Arguments passed to the partial.

apply_filters( 'fictioneer_filter_shortcode_latest_stories_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_latest_stories shortcode. The optional taxonomy arrays can include categories, tags, fandoms, genres, and characters.

$query_args:

  • $fictioneer_query_name (string) – 'latest_stories' or 'latest_stories_compact'
  • $post_type (string) – 'fcn_story'
  • $post_status (string) – 'publish'
  • $post__in (array) – $args['post_ids']
  • $order (string) – $args['order']
  • $orderby (array)
    • $fictioneer_story_sticky – 'DESC'
    • $args['orderby']$args['order']
  • $posts_per_page (int) – $args['count']
  • $meta_query (array)
    • $relation (string) – 'OR'
    • (array)
      • $key – 'fictioneer_story_hidden'
      • $value – '0'
    • (array)
      • $key – 'fictioneer_story_hidden'
      • $compare – 'NOT EXISTS'
  • $author_name (string|null) – $args['author']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $tax_query (array|null) – fictioneer_get_shortcode_tax_query( $args )
  • $no_found_rows (boolean) – true

$args:

  • $count (int) – Maximum number of posts. Default -1.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $order (string) – Order argument. Default 'DESC'.
  • $orderby (string) – Orderby argument. Default 'date'.
  • $post_ids (array) – Limit posts to specific post IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $ignore_protected (boolean) – Whether to ignore protected posts. Default false.
  • $taxonomies (array) – Array of arrays of required taxonomy names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_shortcode_latest_updates_card_footer', $footer_items, $post, $story, $args )

Filters the intermediate output array in the _latest-updates.php partial before it is imploded and rendered. Contains statistics with icons such as the number of chapters, words, dates, and so forth.

$footer_items:

  • $chapters (string) – HTML for the number of chapters.
  • $words (string) – HTML for the total word count.
  • $modified_date (string) – Conditional. HTML for the modified date.
  • $status (string) – HTML for the status.

Parameters

  • $post (WP_Post) – The post object.
  • $story (array) – Collection of story post data.
  • $args (array) – Arguments passed to the partial.

apply_filters( 'fictioneer_filter_shortcode_latest_updates_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_latest_updates shortcode. The optional taxonomy arrays can include categories, tags, fandoms, genres, and characters.

$query_args:

  • $fictioneer_query_name (string) – 'latest_updates' or 'latest_updates_compact'
  • $post_type (string) – 'fcn_story'
  • $post_status (string) – 'publish'
  • $post__in (array) – $args['post_ids']
  • $order (string) – $args['order']
  • $orderby (string) – 'meta_value'
  • $meta_key (string) – 'fictioneer_chapters_added'
  • $posts_per_page (int) – $args['count'] + 4 (buffer for invalid posts)
  • $meta_query (array)
    • $relation (string) – 'OR'
    • (array)
      • $key – 'fictioneer_story_hidden'
      • $value – '0'
    • (array)
      • $key – 'fictioneer_story_hidden'
      • $compare – 'NOT EXISTS'
  • $author_name (string|null) – $args['author']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $tax_query (array|null) – fictioneer_get_shortcode_tax_query( $args )
  • $no_found_rows (boolean) – true

$args:

  • $simple (boolean|null) – Whether to render the simple variant. Default false.
  • $count (int) – Maximum number of posts. Default -1.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $order (string) – Order argument. Default 'DESC'.
  • $post_ids (array) – Limit posts to specific post IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $ignore_protected (boolean) – Whether to ignore protected posts. Default false.
  • $taxonomies (array) – Array of arrays of required taxonomy names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_shortcode_showcase_query_args', $query_args, $args )

Filters the query arguments in the fictioneer_showcase shortcode. The optional taxonomy arrays can include categories, tags, fandoms, genres, and characters.

$query_args:

  • $fictioneer_query_name (string) – 'showcase'
  • $post_type (string) – $args['type']
  • $post_status (string) – 'publish'
  • $post__in (array) – $args['post_ids']
  • $order (string) – $args['order']
  • $orderby (string) – $args['orderby']
  • $posts_per_page (int) – $args['count']
  • $author_name (string|null) – $args['author']
  • $category__not_in (array|null) – $args['excluded_cats']
  • $tag__not_in (array|null) – $args['excluded_tags']
  • $tax_query (array|null) – fictioneer_get_shortcode_tax_query( $args )
  • $update_post_term_cache (boolean) – false
  • $no_found_rows (boolean) – true

$args:

  • $post_type (string) – Either 'fcn_collection', 'fcn_story', 'fcn_chapter', or 'fcn_recommendation'.
  • $count (int) – Maximum number of posts. Default -1.
  • $author (boolean|string) – Limit posts to a specific author. Default false.
  • $order (string) – Order argument. Default 'DESC'.
  • $orderby (string) – Orderby argument. Default 'date'.
  • $post_ids (array) – Limit posts to specific post IDs. Default empty.
  • $author_ids (array) – Limit posts to specific author IDs. Default empty.
  • $excluded_authors (array) – Exclude specific author IDs. Default empty.
  • $excluded_tags (array) – Exclude specific tag names. Default empty.
  • $excluded_cats (array) – Exclude specific category names. Default empty.
  • $ignore_protected (boolean) – Whether to ignore protected posts. Default false.
  • $taxonomies (array) – Array of arrays of required taxonomy names. Default empty.
  • $relation (string) – Relationship between taxonomies. Default 'AND'.
  • $no_cap (boolean) – Whether to hide captions. Default false.
  • $classes (string) – String of additional CSS classes. Default empty.

apply_filters( 'fictioneer_filter_enable_shortcode_transients', $bool )

Filters the boolean return value of the fictioneer_enable_shortcode_transients() function. By default, this depends on the FICTIONEER_SHORTCODE_TRANSIENT_EXPIRATION constant being greater than -1 and the fictioneer_caching_active() function returning false. Because the Transients would interfere with caching. If you exclude a page from caching, it might make sense to turn them on for that page.

Parameter:

  • $bool (boolean) – Whether the Transients are enabled or not by default.

apply_filters( 'fictioneer_filter_sitemap_page_template_excludes', $excludes )

Filters the exclusion array of page templates for the custom theme sitemap. By default, these are 'user-profile.php', 'singular-bookmarks.php', 'singular-bookshelf.php', and 'singular-bookshelf-ajax.php'.

Parameter:

  • $excludes (array) – Array of excluded page templates.

apply_filters( 'fictioneer_filter_sof_date_options', $options, $current_url, $args )

Filters the option array of URL/label tuples for the date popup menu in the fictioneer_sort_order_filter_interface( $args ) function before it is rendered. Can be any positive integer (days) or strtotime compatible string. See fictioneer_append_date_query(...). Includes '0', '1', '3', '1 week ago', '1 month ago', '3 months ago', '6 months ago', and '1 year ago'.

$options:

  • '0' (array) – Tuple of $label (Any Date) and unescaped $url (...ago=0&...#sof).
  • '1' (array) – Tuple of $label (Past 24 Hours) and unescaped $url (...ago=1&...#sof).
  • '3' (array) – Tuple of $label (Past 3 Days) and unescaped $url (...ago=3&...#sof).
  • '1_week_ago' (array) – Tuple of $label (Past Week) and unescaped $url (...ago=1+week+ago&...#sof).
  • '1_month_ago' (array) – Tuple of $label (Past Month) and unescaped $url (...ago=1+month+ago&...#sof).
  • '3_months_ago' (array) – Tuple of $label (Past 3 Months) and unescaped $url (...ago=3+months+ago&...#sof).
  • '6_months_ago' (array) – Tuple of $label (Past 6 Months) and unescaped $url (...ago=6+months+ago&...#sof).
  • '1_year_ago' (array) – Tuple of $label (Past Year) and unescaped $url (...ago=1+year+ago&...#sof).

Parameters:

  • $current_url (array) – Current URL with all query parameters to sort, order, and filter included. Used to build option links.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $queried_type (string) – Queried post type.
  • $query_args (array) – Query arguments used.
  • $order (string) – Current order. Defaults to 'DESC'.
  • $orderby (string) – Current orderby. Defaults to 'modified' in list templates and 'date' in archives.

apply_filters( 'fictioneer_filter_sof_orderby_options', $options, $current_url, $args )

Filters the option array of URL/label tuples for the orderby popup menu in the fictioneer_sort_order_filter_interface( $args ) function before it is rendered. Allows and includes 'modified', 'date', 'title', and 'rand' (excluded).

$options:

  • 'modified' (array) – Tuple of $label (Updated) and unescaped $url (...orderby=modified&...#sof).
  • 'date' (array) – Tuple of $label (Published) and unescaped $url (...orderby=date&...#sof).
  • 'title' (array) – Tuple of $label (By Title) and unescaped $url (...orderby=title&...#sof).

Parameters:

  • $current_url (array) – Current URL with all query parameters to sort, order, and filter included. Used to build option links.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $queried_type (string) – Queried post type.
  • $query_args (array) – Query arguments used.
  • $order (string) – Current order. Defaults to 'DESC'.
  • $orderby (string) – Current orderby. Defaults to 'modified' in list templates and 'date' in archives.

apply_filters( 'fictioneer_filter_sof_post_type_options', $options, $current_url, $args )

Filters the option array of URL/label tuples for the post type popup menu in the fictioneer_sort_order_filter_interface( $args ) function before it is rendered. Only rendered in archives. Includes 'any', 'post, 'fcn_story', 'fcn_chapter', 'fcn_collection', and 'fcn_recommendation'.

$options:

  • $any (array) – Tuple of $label (All Posts) and unescaped $url (...post_type=any&...#sof).
  • $post (array) – Tuple of $label (Blog Posts) and unescaped $url (...post_type=post&...#sof).
  • $fcn_story (array) – Tuple of $label (Stories) and unescaped $url (...post_type=fcn_story&...#sof).
  • $fcn_chapter (array) – Tuple of $label (Chapters) and unescaped $url (...post_type=fcn_chapter&...#sof).
  • $fcn_collection (array) – Tuple of $label (Collections) and unescaped $url (...post_type=fcn_collection&...#sof).
  • $fcn_recommendation (array) – Tuple of $label (Recommendations) and unescaped $url (...post_type=fcn_recommendation&...#sof).

Parameters:

  • $current_url (array) – Current URL with all query parameters to sort, order, and filter included. Used to build option links.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $queried_type (string) – Queried post type.
  • $query_args (array) – Query arguments used.
  • $order (string) – Current order. Defaults to 'DESC'.
  • $orderby (string) – Current orderby. Defaults to 'modified' in list templates and 'date' in archives.

apply_filters( 'fictioneer_filter_stories_card_args', $card_args, $args )

Filters the arguments passed to the partials/_card-story template part in the fictioneer_stories_list( $args ) function, normally added via the fictioneer_stories_after_content hook.

$card_args:

  • $cache (boolean) – Return of fictioneer_caching_active().
  • $order (string) – Current query order argument. Default 'desc'.
  • $orderby (string) – Current query orderby argument. Default 'modified'.
  • $ago (int|string) – Current date query argument part. Default 0.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $stories (WP_Query) – Paginated query of all published stories.
  • $queried_type (string) – 'fcn_story'

apply_filters( 'fictioneer_filter_stories_query_args', $query_args, $post_id )

Filters the arguments to query the stories in the stories.php template.

$query_args:

  • $fictioneer_query_name (string) – 'stories_list'
  • $post_type (string) – 'fcn_story'
  • $post_status (string) – 'publish'
  • $order (string) – 'DESC' or 'ASC'
  • $orderby (array) – 'modified', 'date', 'title', or 'rand'
  • $paged (int) – Current page number or 1.
  • $posts_per_page (int) – get_option( 'posts_per_page' )
  • $meta_query (array)
    • $relation (string) – 'OR'
    • (array)
      • $key – 'fictioneer_story_hidden'
      • $value – '0'
    • (array)
      • $key – 'fictioneer_story_hidden'
      • $compare – 'NOT EXISTS'
  • $update_post_term_cache – ! get_option( 'fictioneer_hide_taxonomies_on_story_cards' )
  • $date_query – fictioneer_append_date_query()

Parameters:

  • $post_id (int) – Current post ID.

apply_filters( 'fictioneer_filter_stories_statistics', $statistics, $args )

Filters the statistics for all stories rendered by the fictioneer_stories_statistics( $args ) function, normally added via the fictioneer_stories_after_content hook. Each tuple in the $statistics array has $label and $content.

$statistics:

  • $stories (string) – Number of published stories.
  • $words (string) – Total word count of published stories.
  • $comments (string) – Total number of comments in stories/chapters.
  • $reading (string) – Total reading time approximated from word count.

$args:

  • $current_page (int) – Current page if paginated or 1.
  • $post_id (int) – Current post ID.
  • $stories (WP_Query) – Paginated query of all published stories.

apply_filters( 'fictioneer_filter_story_card_footer', $footer_items, $post, $story, $args )

Filters the intermediate output array in the _card-story.php partial before it is imploded and rendered. Contains statistics with icons such as the number of chapters, publishing date, comments, and so forth.

$footer_items:

  • $chapters (string) – HTML for the number of chapters.
  • $words (string) – HTML for the total word count.
  • $publish_date (string) – Conditional. HTML for the publish date.
  • $modified_date (string) – Conditional. HTML for the modified date.
  • $author (string) – Conditional. HTML for the author.
  • $comments (string) – HTML for the number of comments.
  • $status (string) – HTML for the status.

Parameters

  • $post (WP_Post) – The post object.
  • $story (array) – Story data.
  • $args (array) – Arguments passed to the partial.

apply_filters( 'fictioneer_filter_story_buttons', $output, $args )

Filters the intermediate output array of the fictioneer_get_story_buttons( $args ) function before it is imploded and returned. Used inside fictioneer_story_actions( $args ) and rendered via the fictioneer_story_after_content hook.

$output:

  • $subscribe (string|null) – Optional. HTML of the subscribe button and popup menu.
  • $epub (string|null) – Optional. HTML for the ePUB (generated) download button.
  • $ebook (string|null) – Optional. HTML for the ebook (uploaded) download button.
  • $reminder (string|null) – Optional. HTML for the Read Later button.
  • $follow (string|null) – Optional. HTML for the Follow button.

$args:

  • $story_data (array) – Collection of story data.
  • $story_id (int) – Current story (post) ID.

apply_filters( 'fictioneer_filter_story_identity', $output, $story_id, $story )

Filters the intermediate output array in the _story-header.php partial before it is imploded and rendered. Contains the HTML for the story title (safe) and author meta nodes (see fictioneer_get_story_author_nodes()).

$output:

  • $title (string) – HTML for the story title <h1>.
  • $meta (string) – HTML for the story author(s) meta row.

Parameters:

  • $story_id (int) – The story ID.
  • $story (array) – Array with story data from fictioneer_get_story_data().

apply_filters( 'fictioneer_filter_subscribe_buttons', $buttons, $post_id, $author_id, $feed )

Filters the intermediate output array of the fictioneer_get_subscribe_options( $post_id, $author_id, $feed ) function before it is imploded and returned. Normally accounts for Patreon, Ko-Fi, SubscribeStar, Feedly, and Inoreader.

$buttons:

  • $patreon (string) – Optional. Link to Patreon if set for post or author.
  • $kofi (string) – Optional. Link to Ko-Fi if set for post or author.
  • $subscribestar (string) – Optional. Link to SubscribeStar if set for post or author.
  • $feedly (string) – RSS subscription link to Feedly.
  • $inoreader (string) – RSS subscription link to Inoreader.

Parameters:

  • $post_id (int) – The post ID. Defaults to the current post ID.
  • $author_id (int) – The author ID. Defaults to the current author ID.
  • $feed (string|null) – The RSS feed URL. Unsafe.

apply_filters( 'fictioneer_filter_taxonomy_pills_group', $group, $key, $context )

Filters the groups passed to fictioneer_get_taxonomy_pills(...) before they are looped and rendered, allowing you to limit the number of taxonomies or randomize the order, for example.

Filters the source array of selected translation strings used in the theme, see fcntr( $key, $escape ) function in includes/functions/_utility.php. You cannot translate the whole theme with this, but give it a personal touch.

Parameters:

  • $group (array) – Array of WP_Term objects.
  • $key (string) – The group type (tags, fandoms, genres, characters, or warnings).
  • $context (string) – The render context or location. Can be empty.

apply_filters( 'fictioneer_filter_translations', $strings )

Filters the source array of selected translation strings used in the theme, see fcntr( $key, $escape ) function in includes/functions/_utility.php. You cannot translate the whole theme with this, but give it a personal touch.

Parameters:

  • $strings (array) – Associative array of translation keys and values.

apply_filters( 'fictioneer_filter_user_menu_items', $items )

Filters the intermediate output array of the fictioneer_user_menu_items() function before it is imploded and returned. Contains links to the user’s account, reading lists, and bookmarks as well as the site’s Discord, site settings modal toggle, and logout link. Used in the partials/_icon-menu.php partial if the user is logged in.

$items:

  • $account (string|null) – Optional. List item with link to the user’s account.
  • $site_settings (string) – List item with site settings modal toggle.
  • $bookshelf (string|null) – Optional. List item with link to the user’s lists.
  • $bookmarks (string|null) – Optional. List item with link to the user’s bookmarks.
  • $discord (string|null) – Optional. List item with link to the site’s Discord server.
  • $logout (string) – List item with link to log out of the site.