wp_get_custom_css_post() – Fetch the `custom_css` post for a given theme.

You appear to be a bot. Output may be restricted

Description

Fetches the custom_css post for a given theme.

Usage

$WP_Post|null = wp_get_custom_css_post( $stylesheet );

Parameters

$stylesheet
( string ) optional – Optional. A theme object stylesheet name. Defaults to the active theme.

Returns

WP_Post|null The custom_css post or null if none exists.

Source

File name: wordpress/wp-includes/theme.php
Lines:

1 to 42 of 42
function wp_get_custom_css_post( $stylesheet = '' ) {
  if ( empty( $stylesheet ) ) {
    $stylesheet = get_stylesheet();
  }

  $custom_css_query_vars = array(
    'post_type'              => 'custom_css',
    'post_status'            => get_post_stati(),
    'name'                   => sanitize_title( $stylesheet ),
    'posts_per_page'         => 1,
    'no_found_rows'          => true,
    'cache_results'          => true,
    'update_post_meta_cache' => false,
    'update_post_term_cache' => false,
    'lazy_load_term_meta'    => false,
  );

  $post = null;
  if ( get_stylesheet() === $stylesheet ) {
    $post_id = get_theme_mod( 'custom_css_post_id' );

    if ( $post_id > 0 && get_post( $post_id ) ) {
      $post = get_post( $post_id );
    }

    // `-1` indicates no post exists; no query necessary.
    if ( ! $post && -1 !== $post_id ) {
      $query = new WP_Query( $custom_css_query_vars );
      $post  = $query->post;
      /*
			 * Cache the lookup. See wp_update_custom_css_post().
			 * @todo This should get cleared if a custom_css post is added/removed.
			 */
      set_theme_mod( 'custom_css_post_id', $post ? $post->ID : -1 );
    }
  } else {
    $query = new WP_Query( $custom_css_query_vars );
    $post  = $query->post;
  }

  return $post;
}
 

 View on GitHub View on Trac