pods_function_or_file
Check if a Function exists or File exists in Theme / Child Theme.
Description
pods_function_or_file( (string) $function_or_file, (constant) $function_name = null, (constant) $file_dir = null, (null) $file_name = null );
Parameters (4)
- 0. $function_or_file (string)
- Function or file name to look for.
- 1. $function_name — Optional. (constant) =>
null
- Function name to look for.
- 2. $file_dir — Optional. (constant) =>
null
- Drectory to look into
- 3. $file_name — Optional. (null) =>
null
- Filename to look for
Usage
if ( !function_exists( 'pods_function_or_file' ) ) { require_once ABSPATH . PLUGINDIR . 'pods-custom-content-types-and-fields/includes/general.php'; } // Function or file name to look for. $function_or_file = ''; // (optional) Function name to look for. $function_name = null; // (optional) Drectory to look into $file_dir = null; // (optional) Filename to look for $file_name = null; // NOTICE! Understand what this does before running. $result = pods_function_or_file($function_or_file, $function_name, $file_dir, $file_name);
Defined (1)
The function is defined in the following location(s).
- /includes/general.php
- function pods_function_or_file ( $function_or_file, $function_name = null, $file_dir = null, $file_name = null ) {
- $found = false;
- $function_or_file = (string) $function_or_file;
- if ( false !== $function_name ) {
- if ( null === $function_name )
- $function_name = $function_or_file;
- $function_name = str_replace( array(
- '__',
- '__',
- '__'
- ), '_', preg_replace( '/[^a-z^A-Z^_][^a-z^A-Z^0-9^_]*/', '_', (string) $function_name ) );
- if ( function_exists( 'pods_custom_' . $function_name ) )
- $found = array( 'function' => 'pods_custom_' . $function_name );
- elseif ( function_exists( $function_name ) )
- $found = array( 'function' => $function_name );
- }
- if ( false !== $file_name && false === $found ) {
- if ( null === $file_name )
- $file_name = $function_or_file;
- $file_name = str_replace( array(
- '__',
- '__',
- '__'
- ), '_', preg_replace( '/[^a-z^A-Z^0-9^_]*/', '_', (string) $file_name ) ) . '.php';
- $custom_location = apply_filters( 'pods_file_directory', null, $function_or_file, $function_name, $file_dir, $file_name );
- if ( defined( 'PODS_FILE_DIRECTORY' ) && false !== PODS_FILE_DIRECTORY )
- $custom_location = PODS_FILE_DIRECTORY;
- if ( !empty( $custom_location ) && locate_template( trim( $custom_location, '/' ) . '/' . ( !empty( $file_dir ) ? $file_dir . '/' : '' ) . $file_name ) )
- $found = array( 'file' => trim( $custom_location, '/' ) . '/' . ( !empty( $file_dir ) ? $file_dir . '/' : '' ) . $file_name );
- elseif ( locate_template( 'pods/' . ( !empty( $file_dir ) ? $file_dir . '/' : '' ) . $file_name ) )
- $found = array( 'file' => 'pods/' . ( !empty( $file_dir ) ? $file_dir . '/' : '' ) . $file_name );
- elseif ( locate_template( 'pods-' . ( !empty( $file_dir ) ? $file_dir . '-' : '' ) . $file_name ) )
- $found = array( 'file' => 'pods-' . ( !empty( $file_dir ) ? $file_dir . '-' : '' ) . $file_name );
- elseif ( locate_template( 'pods/' . ( !empty( $file_dir ) ? $file_dir . '-' : '' ) . $file_name ) )
- $found = array( 'file' => 'pods/' . ( !empty( $file_dir ) ? $file_dir . '-' : '' ) . $file_name );
- }
- return apply_filters( 'pods_function_or_file', $found, $function_or_file, $function_name, $file_name );
- }