webentwicklung-frage-antwort-db.com.de

Mein Shortcode wird zweimal angezeigt

Das Problem: Ich habe einen benutzerdefinierten Beitragstyp und einen Shortcode erstellt, um dessen Informationen anzuzeigen. Ich habe das schon einmal gemacht und es war kein Problem. Wenn ich diesen Shortcode anzeige, wird der Inhalt des Shortcodes auf der Seite zweimal wiederholt.

Der Code: Ich fügte diese Aktionen und Funktionen am Ende der Plugins-Hauptdatei hinzu (die, die als plugin-name.php in der Kesselplatte beginnt)

function custom_post_type() {

$labels = array(
    'name'                  => _x( 'Carousel ', 'Post Type General Name', 'text_domain' ),
    'singular_name'         => _x( 'Carousel', 'Post Type Singular Name', 'text_domain' ),
    'menu_name'             => __( 'Carousel', 'text_domain' ),
    'name_admin_bar'        => __( 'Carousel', 'text_domain' ),
    'archives'              => __( 'Carousel Archives', 'text_domain' ),
    'parent_item_colon'     => __( 'Parent Item:', 'text_domain' ),
    'all_items'             => __( 'All Posts', 'text_domain' ),
    'add_new_item'          => __( 'Add New', 'text_domain' ),
    'add_new'               => __( 'Add New', 'text_domain' ),
    'new_item'              => __( 'New Carousel', 'text_domain' ),
    'edit_item'             => __( 'Edit Carousel', 'text_domain' ),
    'update_item'           => __( 'Update Carousel', 'text_domain' ),
    'view_item'             => __( 'View Carousel', 'text_domain' ),
    'search_items'          => __( 'Search Featured Blogs', 'text_domain' ),
    'not_found'             => __( 'Not found', 'text_domain' ),
    'not_found_in_trash'    => __( 'Not found in Trash', 'text_domain' ),
    'featured_image'        => __( 'Featured Image', 'text_domain' ),
    'set_featured_image'    => __( 'Set featured image', 'text_domain' ),
    'remove_featured_image' => __( 'Remove featured image', 'text_domain' ),
    'use_featured_image'    => __( 'Use as featured image', 'text_domain' ),
    'insert_into_item'      => __( 'Insert into item', 'text_domain' ),
    'uploaded_to_this_item' => __( 'Uploaded to this item', 'text_domain' ),
    'items_list'            => __( 'Items list', 'text_domain' ),
    'items_list_navigation' => __( 'Items list navigation', 'text_domain' ),
    'filter_items_list'     => __( 'Filter items list', 'text_domain' ),
);
$args = array(
    'label'                 => __( 'Post Type', 'text_domain' ),
    'description'           => __( 'Post Type Description', 'text_domain' ),
    'labels'                => $labels,
    'supports'              => array( ),
    'taxonomies'            => array( 'category', 'post_tag' ),
    'hierarchical'          => false,
    'public'                => true,
    'show_ui'               => true,
    'show_in_menu'          => true,
    'menu_position'         => 5,
    'show_in_admin_bar'     => true,
    'show_in_nav_menus'     => true,
    'can_export'            => true,
    'has_archive'           => true,
    'exclude_from_search'   => false,
    'publicly_queryable'    => true,
    'capability_type'       => 'page',
    'menu_icon'                => 'dashicons-welcome-view-site',
);
register_post_type( 'zeebo-carousel', $args );

}

add_action( 'init', 'custom_post_type', 0 );


function carousel_shortcode_func( $atts ) {

$a = shortcode_atts( array(
'id' =>  false,
'foo' => 'something',
'bar' => 'something else',
), $atts );

ob_start();

?>

shortcode content here<br />

<?php

return ob_get_contents();

}
add_shortcode( 'carousel', 'carousel_shortcode_func' );

Maßnahmen, die ich bereits ergriffen habe, um dies zu beheben:
1. Geänderte Themen
2. Alle anderen Plugins deaktiviert
3. Code umgeschrieben
3. Google-Suche

Wie kann ich festlegen, dass der Inhalt nur einmal pro Shortcode angezeigt wird?

1
brothman

Hier geht es mehr um PHP als um WP, aber ob_get_contents gibt den Puffer zurück, ohne ihn zu löschen. So erhalten Sie Ihren Pufferinhalt zweimal. Verwenden Sie ob_get_clean , um den Puffer bei der Rückgabe zu löschen.

4
cjbj