वर्डप्रेस (अंतर्निहित) त्रुटि हैंडलिंग का उपयोग करें
return;
अगर कुछ उपयोगकर्ता इनपुट गलत था तो बस मत करो । उनके बारे में कुछ जानकारी गलत दी गई थी।
function some_example_fn( $args = array() )
{
// If value was not set, build an error message
if ( ! isset( $args['some_value'] ) )
$error = new WP_Error( 'some_value', sprintf( __( 'You have forgotten to specify the %1$s for your function. %2$s Error triggered inside %3$s on line %4$s.', TEXTDOMAIN ), '$args[\'some_value\']', "\n", __FILE__, __LINE__ ) );
// die & print error message & code - for admins only!
if ( isset( $error ) && is_wp_error( $error ) && current_user_can( 'manage_options' ) )
wp_die( $error->get_error_code(), 'Theme Error: Missing Argument' );
// Elseif no error was triggered continue...
}
सभी के लिए एक त्रुटि (वस्तु)
आप बूटस्ट्रैप के दौरान अपने विषय या प्लगइन के लिए एक वैश्विक त्रुटि ऑब्जेक्ट सेट कर सकते हैं:
function bootstrap_the_theme()
{
global $prefix_error, $prefix_theme_name;
// Take the theme name as error ID:
$theme_data = wp_get_theme();
$prefix_theme_name = $theme_data->Name;
$prefix_error = new WP_Error( $theme_data->Name );
include // whatever, etc...
}
add_action( 'after_setup_theme', 'bootstrap_the_theme' );
बाद में आप मांग पर असीमित त्रुटियां जोड़ सकते हैं:
function some_theme_fn( $args )
{
global $prefix_error, $prefix_theme_name;
$theme_data = wp_get_theme();
if ( ! $args['whatever'] && current_user_can( 'manage_options' ) ) // some required value not set
$prefix_error->add( $prefix_theme_name, sprintf( 'The function %1$s needs the argument %2$s set.', __FUNCTION__, '$args[\'whatever\']' ) );
// continue function...
}
फिर आप अपने विषय के अंत में उन सभी को ला सकते हैं। इस तरह से आप पेज रेंडर करने में बाधा नहीं डालते हैं और अभी भी विकास के लिए अपनी सभी त्रुटियों को आउटपुट कर सकते हैं
function dump_theme_errors()
{
global $prefix_error, $prefix_theme_name;
// Not an admin? OR: No error(s)?
if ( ! current_user_can( 'manage_options' ) ! is_wp_error( $prefix_error ) )
return;
$theme_errors = $prefix_error->get_error_messages( $prefix_theme_name );
echo '<h3>Theme Errors</h3>';
foreach ( $theme_errors as $error )
echo "{$error}\n";
}
add_action( 'shutdown', 'dump_theme_errors' );
आप इस Q पर अधिक जानकारी प्राप्त कर सकते हैं । संबंधित टिकट "एक साथ काम करने" को ठीक करने के लिए WP_Error
और wp_die()
वहां से जुड़ा हुआ है और एक अन्य टिकट का अनुसरण करेगा। टिप्पणियाँ, आलोचकों और इस तरह की सराहना की है।