$is_custom_body_class_enabled ) {
if ( ( get_post_type() == $post_type_slug ) && $is_custom_body_class_enabled ) {
// Skip adding meta box for post types where Gutenberg is enabled
// if (
// function_exists( 'use_block_editor_for_post_type' )
// && use_block_editor_for_post_type( $post_type_slug )
// ) {
// continue; // go to the beginning of next iteration
// }
add_meta_box(
'asenha-custom-body-class', // ID of meta box
'Custom <body> Class', // Title of meta box
[ $this, 'output_custom_body_class_meta_box' ], // Callback function
$post_type_slug, // The screen on which the meta box should be output to
'normal', // context
'high' // priority
// array(), // $args to pass to callback function. Ref: https://developer.wordpress.org/reference/functions/add_meta_box/#comment-342
);
}
}
}
/**
* Render External Permalink meta box
*
* @since 3.9.0
*/
public function output_custom_body_class_meta_box( $post ) {
?>
tag
*
* @since 4.4.0
*/
public function append_custom_body_class( $classes ) {
// Only add custom body classes to the singular view of enabled post types
if ( is_singular() ) {
global $post;
$custom_body_classes = get_post_meta( $post->ID, '_custom_body_class', true );
if ( ! empty( $custom_body_classes ) ) {
$custom_body_classes = explode( ' ', $custom_body_classes );
foreach( $custom_body_classes as $custom_body_class ) {
$classes[] = sanitize_html_class( $custom_body_class );
}
}
}
return $classes;
}
/**
* Show content of ads.txt saved to options
*
* @since 3.2.0
*/
public function show_ads_appads_txt_content() {
$options = get_option( ASENHA_SLUG_U, array() );
$request = isset( $_SERVER['REQUEST_URI'] ) ? esc_url_raw( wp_unslash( $_SERVER['REQUEST_URI'] ) ) : false;
if ( '/ads.txt' === $request ) {
$ads_txt_content = array_key_exists( 'ads_txt_content', $options ) ? $options['ads_txt_content'] : '';
header( 'Content-Type: text/plain' );
echo esc_textarea( $ads_txt_content );
die();
}
if ( '/app-ads.txt' === $request ) {
$app_ads_txt_content = array_key_exists( 'app_ads_txt_content', $options ) ? $options['app_ads_txt_content'] : '';
header( 'Content-Type: text/plain' );
echo esc_textarea( $app_ads_txt_content );
die();
}
}
/**
* Maybe show custom robots.txt content
*
* @since 3.5.0
*/
public function maybe_show_custom_robots_txt_content( $output, $public ) {
$options = get_option( ASENHA_SLUG_U, array() );
if ( array_key_exists( 'robots_txt_content', $options ) && ! empty( $options['robots_txt_content'] ) ) {
$output = wp_strip_all_tags( $options['robots_txt_content'] );
}
return $output;
}
/**
* Insert code before tag
*
* @since 3.3.0
*/
public function insert_head_code() {
$this->insert_code( 'head' );
}
/**
* Insert code after tag
*
* @since 3.3.0
*/
public function insert_body_code() {
$this->insert_code( 'body' );
}
/**
* Insert code in footer section before tag
*
* @since 3.3.0
*/
public function insert_footer_code() {
$this->insert_code( 'footer' );
}
/**
* Insert code
*
* @since 3.3.0
*/
public function insert_code( $location ) {
// Do not insert code in admin, feed, robots or trackbacks
if ( is_admin() || is_feed() || is_robots() || is_trackback() ) {
return;
}
// Get option that stores the code
$options = get_option( ASENHA_SLUG_U, array() );
if ( 'head' == $location ) {
$code = array_key_exists( 'head_code', $options ) ? $options['head_code'] : '';
}
if ( 'body' == $location ) {
$code = array_key_exists( 'body_code', $options ) ? $options['body_code'] : '';
}
if ( 'footer' == $location ) {
$code = array_key_exists( 'footer_code', $options ) ? $options['footer_code'] : '';
}
echo wp_unslash( $code ) . PHP_EOL;
}
}