X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/6c8f14c09105d0afa4c1574215c59b5021040e76..refs/tags/wordpress-3.7:/wp-includes/general-template.php
diff --git a/wp-includes/general-template.php b/wp-includes/general-template.php
index af3d572e..90e19d4b 100644
--- a/wp-includes/general-template.php
+++ b/wp-includes/general-template.php
@@ -25,7 +25,8 @@ function get_header( $name = null ) {
do_action( 'get_header', $name );
$templates = array();
- if ( isset($name) )
+ $name = (string) $name;
+ if ( '' !== $name )
$templates[] = "header-{$name}.php";
$templates[] = 'header.php';
@@ -54,7 +55,8 @@ function get_footer( $name = null ) {
do_action( 'get_footer', $name );
$templates = array();
- if ( isset($name) )
+ $name = (string) $name;
+ if ( '' !== $name )
$templates[] = "footer-{$name}.php";
$templates[] = 'footer.php';
@@ -83,7 +85,8 @@ function get_sidebar( $name = null ) {
do_action( 'get_sidebar', $name );
$templates = array();
- if ( isset($name) )
+ $name = (string) $name;
+ if ( '' !== $name )
$templates[] = "sidebar-{$name}.php";
$templates[] = 'sidebar.php';
@@ -120,7 +123,8 @@ function get_template_part( $slug, $name = null ) {
do_action( "get_template_part_{$slug}", $slug, $name );
$templates = array();
- if ( isset($name) )
+ $name = (string) $name;
+ if ( '' !== $name )
$templates[] = "{$slug}-{$name}.php";
$templates[] = "{$slug}.php";
@@ -141,34 +145,56 @@ function get_template_part( $slug, $name = null ) {
* form into the sidebar and also by the search widget in WordPress.
*
* There is also an action that is called whenever the function is run called,
- * 'get_search_form'. This can be useful for outputting JavaScript that the
+ * 'pre_get_search_form'. This can be useful for outputting JavaScript that the
* search relies on or various formatting that applies to the beginning of the
* search. To give a few examples of what it can be used for.
*
* @since 2.7.0
+ * @uses apply_filters() Calls 'search_form_format' filter to determine which type to use for the search field.
+ * If set to 'html5', it changes to search input type and adds placeholder text.
+ *
* @param boolean $echo Default to echo and not return the form.
* @return string|null String when retrieving, null when displaying or if searchform.php exists.
*/
-function get_search_form($echo = true) {
- do_action( 'get_search_form' );
+function get_search_form( $echo = true ) {
+ do_action( 'pre_get_search_form' );
+
+ $format = current_theme_supports( 'html5', 'search-form' ) ? 'html5' : 'xhtml';
+ $format = apply_filters( 'search_form_format', $format );
- $search_form_template = locate_template('searchform.php');
+ $search_form_template = locate_template( 'searchform.php' );
if ( '' != $search_form_template ) {
- require($search_form_template);
- return;
+ ob_start();
+ require( $search_form_template );
+ $form = ob_get_clean();
+ } else {
+ if ( 'html5' == $format ) {
+ $form = '
';
+ } else {
+ $form = '';
+ }
}
- $form = '';
+ $result = apply_filters( 'get_search_form', $form );
+ if ( null === $result )
+ $result = $form;
if ( $echo )
- echo apply_filters('get_search_form', $form);
+ echo $result;
else
- return apply_filters('get_search_form', $form);
+ return $result;
}
/**
@@ -199,12 +225,12 @@ function wp_loginout($redirect = '', $echo = true) {
/**
* Returns the Log Out URL.
*
- * Returns the URL that allows the user to log out of the site
+ * Returns the URL that allows the user to log out of the site.
*
* @since 2.7.0
- * @uses wp_nonce_url() To protect against CSRF
- * @uses site_url() To generate the log in URL
- * @uses apply_filters() calls 'logout_url' hook on final logout url
+ * @uses wp_nonce_url() To protect against CSRF.
+ * @uses site_url() To generate the log out URL.
+ * @uses apply_filters() calls 'logout_url' hook on final logout URL.
*
* @param string $redirect Path to redirect to on logout.
* @return string A log out URL.
@@ -224,11 +250,11 @@ function wp_logout_url($redirect = '') {
/**
* Returns the Log In URL.
*
- * Returns the URL that allows the user to log in to the site
+ * Returns the URL that allows the user to log in to the site.
*
* @since 2.7.0
- * @uses site_url() To generate the log in URL
- * @uses apply_filters() calls 'login_url' hook on final login url
+ * @uses site_url() To generate the log in URL.
+ * @uses apply_filters() calls 'login_url' hook on final login URL.
*
* @param string $redirect Path to redirect to on login.
* @param bool $force_reauth Whether to force reauthorization, even if a cookie is present. Default is false.
@@ -246,6 +272,21 @@ function wp_login_url($redirect = '', $force_reauth = false) {
return apply_filters('login_url', $login_url, $redirect);
}
+/**
+ * Returns the user registration URL.
+ *
+ * Returns the URL that allows the user to register on the site.
+ *
+ * @since 3.6.0
+ * @uses site_url() To generate the registration URL.
+ * @uses apply_filters() calls 'register_url' hook on final URL.
+ *
+ * @return string
+ */
+function wp_registration_url() {
+ return apply_filters( 'register_url', site_url( 'wp-login.php?action=register', 'login' ) );
+}
+
/**
* Provides a simple login form for use anywhere within WordPress. By default, it echoes
* the HTML immediately. Pass array('echo'=>false) to return the string instead.
@@ -255,21 +296,22 @@ function wp_login_url($redirect = '', $force_reauth = false) {
* @return string|null String when retrieving, null when displaying.
*/
function wp_login_form( $args = array() ) {
- $defaults = array( 'echo' => true,
- 'redirect' => ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], // Default redirect is back to the current page
- 'form_id' => 'loginform',
- 'label_username' => __( 'Username' ),
- 'label_password' => __( 'Password' ),
- 'label_remember' => __( 'Remember Me' ),
- 'label_log_in' => __( 'Log In' ),
- 'id_username' => 'user_login',
- 'id_password' => 'user_pass',
- 'id_remember' => 'rememberme',
- 'id_submit' => 'wp-submit',
- 'remember' => true,
- 'value_username' => '',
- 'value_remember' => false, // Set this to true to default the "Remember me" checkbox to checked
- );
+ $defaults = array(
+ 'echo' => true,
+ 'redirect' => ( is_ssl() ? 'https://' : 'http://' ) . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], // Default redirect is back to the current page
+ 'form_id' => 'loginform',
+ 'label_username' => __( 'Username' ),
+ 'label_password' => __( 'Password' ),
+ 'label_remember' => __( 'Remember Me' ),
+ 'label_log_in' => __( 'Log In' ),
+ 'id_username' => 'user_login',
+ 'id_password' => 'user_pass',
+ 'id_remember' => 'rememberme',
+ 'id_submit' => 'wp-submit',
+ 'remember' => true,
+ 'value_username' => '',
+ 'value_remember' => false, // Set this to true to default the "Remember me" checkbox to checked
+ );
$args = wp_parse_args( $args, apply_filters( 'login_form_defaults', $defaults ) );
$form = '
@@ -338,7 +380,7 @@ function wp_register( $before = '