$fn__get_thumb_id_from_text = function( $text ){
global $post;
$meta_social_image = get_post_meta($post->ID, 'meta_social_image', true);
if ( $meta_social_image ) {
return $meta_social_image; // Всё, картинка есть, заканчиваем
}
if( preg_match( '/<img +src *= *[\'"]([^\'"]+)[\'"]/', $text, $mm ) &&
( $mm[1]{0} === '/' || strpos($mm[1], $_SERVER['HTTP_HOST']) ) ){
$name = basename( $mm[1] );
$name = preg_replace('~-[0-9]+x[0-9]+(?=\..{2,6})~', '', $name ); // удалим размер (-80x80)
$name = preg_replace('~\.[^.]+$~', '', $name ); // удалим расширение
$name = sanitize_title( sanitize_file_name( $name ) ); // приведем к стандартному виду
global $wpdb;
$thumb_id = $wpdb->get_var(
$wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_name = %s AND post_type = 'attachment'", $name )
);
} else {
$zm_social_image = get_theme_mod('zm_social_image');
$thumb_id = $zm_social_image;
}
return empty($thumb_id) ? 0 : $thumb_id;
};
define( 'WP_DEBUG', true );
add_shortcode( 'clinic', 'call_shortcode_clinic' );
function call_shortcode_clinic( $atts ) {
ob_start();
$atts = shortcode_atts( array( 'id' => null ), $atts );
$clinic_query = new WP_Query( array(
'post_type' => 'clinics',
'p' => intval( $atts['id'] )
));
echo '<div class="clinic">';
if ( $clinic_query->have_posts() ) :
while ( $clinic_query->have_posts() ) : $clinic_query->the_post();
get_template_part( 'template-parts/clinic', get_post_format() );
endwhile;
else :
get_template_part( 'template-parts/content', 'none' );
endif;
echo '</div>';
wp_reset_postdata();
return ob_get_clean();
}
add_shortcode( 'doctor', 'call_shortcode_doctor' );
function call_shortcode_doctor( $atts ) {
ob_start();
$atts = shortcode_atts( array( 'id' => null ), $atts );
$doctor_query = new WP_Query( array(
'post_type' => 'doctors',
'p' => intval( $atts['id'] )
));
echo '<div class="doctor">';
if ( $doctor_query->have_posts() ) :
while ( $doctor_query->have_posts() ) : $doctor_query->the_post();
get_template_part( 'template-parts/doctor', get_post_format() );
endwhile;
else :
get_template_part( 'template-parts/content', 'none' );
endif;
echo '</div>';
wp_reset_postdata();
return ob_get_clean();
}
remove_filter( 'template_redirect', 'redirect_canonical' );
function remove_redirect_guess_404_permalink( $redirect_url ) {
if ( is_404() ) { return false; }
return $redirect_url;
}
add_filter( 'redirect_canonical', 'remove_redirect_guess_404_permalink' );
, переключились в визуальный редактор и переключившись обратно в редактор кода неразрывные пробелы пропали, а вы хотели бы их оставить, то вам поможет это:function allow_nbsp_in_tinymce( $mceInit ) {
$mceInit['entities'] = 'nbsp,amp,lt,gt,mdash';
$mceInit['entity_encoding'] = 'named';
return $mceInit;
}
add_filter( 'tiny_mce_before_init', 'allow_nbsp_in_tinymce' );
function remove_nbsp( $content ){
$content = preg_replace(" ", " ", $content);
return $content;
}
add_action('content_save_pre', 'remove_nbsp');
<head></head>
не обязательно, а рекомендуеться. Так, что в вашем случае можете код вставить в любом месте страницы, только не через визуальный редактор, а именно в код страницы:$child_id = get_the_ID();
$args = array(
'meta_key' => 'my_child_page',
'meta_value' => $child_id,
'meta_compare' => '=',
'posts_per_page' => -1,
'order' => 'ASC',
'orderby' => 'menu_order'
);
$parent = new WP_Query( $args );
if ( $parent->have_posts() ) :
while ( $parent->have_posts() ) : $parent->the_post();
print_r( get_the_ID() );
endwhile;
endif;
wp_reset_postdata();
<?php the_widget( $widget, $instance, $args ); ?>
$args['tax_query'][] = array(
'taxonomy' => 'test',
'terms' => array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'),
'operator' => 'NOT IN'
);