1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
<?php
use SIW\Options;
function siw_get_option( $option, $default = null ) {
if ( 0 === did_action( 'init' ) && WP_DEBUG ) {
trigger_error( 'siw_get_option werd te vroeg aangeroepen', E_USER_ERROR );
}
$value = wp_cache_get( $option, 'siw_options');
if ( false !== $value ) {
return $value;
}
$options = get_option( Options::OPTION_NAME );
$value = $options[ $option ] ?? null;
if ( empty( $value ) ) {
return $default;
}
$value = apply_filters( 'siw_option_value', $value, $option );
wp_cache_set( $option, $value, 'siw_options' );
return $value;
}
function siw_set_option( string $option, $value ) {
$options = get_option( Options::OPTION_NAME );
if ( null === $value ) {
unset( $options[ $option ] );
}
else {
$options[ $option ] = $value;
}
update_option( Options::OPTION_NAME, $options );
}