Ich habe ein Design, das das Visual Composer-Plugin um einen Schieberegler auf der Startseite erweitert. Der Slider zeigt fünf Erfahrungsberichte von fünf verschiedenen Kunden. Ich möchte das vorgestellte Bild jedes Zeugnisses als Miniaturansicht im Schieberegler hinzufügen.
Hier ist der verkürzte Code aus dem übergeordneten Thema:
function jo_customers_testimonials_slider( $atts ) {
extract( shortcode_atts( array( 'limit' => 5, "widget_title" => __('What Are People Saying', 'jo'), 'text_color' => "#000" ), $atts ) );
$content = "";
$loopArgs = array( "post_type" => "customers", "posts_per_page" => $limit, 'ignore_sticky_posts' => 1 );
$postsLoop = new WP_Query( $loopArgs );
$content = "";
$content .= '...';
$content .= '...';
$content .= '...';
wp_reset_query();
return $content;
}
add_shortcode( 'jo_customers_testimonials_slider', 'jo_customers_testimonials_slider' );
Meine functions.php-Datei:
function jo_customers_testimonials_slider_with_thumbnail( $atts ) {
extract( shortcode_atts( array( 'limit' => 5, "widget_title" => __('What Are People Saying', 'jo'), 'text_color' => "#000" ), $atts ) );
$content = "";
$loopArgs = array( "post_type" => "customers", "posts_per_page" => $limit, 'ignore_sticky_posts' => 1 );
$postsLoop = new WP_Query( $loopArgs );
$content = "";
$content .= '...';
$content .= get_the_post_thumbnail( get_the_ID(), 'thumbnail' );
$content .= '...';
$content .= '...';
wp_reset_query();
return $content;
}
add_shortcode( 'jo_customers_testimonials_slider', 'jo_customers_testimonials_slider_with_thumbnail' );
Theoretisch sollte die Funktion aus meiner functions.php-Datei den Shortcode aus dem Parent-Theme überschreiben. Aber nichts scheint zu passieren, wenn ich diesen Code verwende. Was mache ich falsch?
Bearbeiten:
Ich habe diesen Code ausprobiert, aber er funktioniert immer noch nicht.
function wpa_add_child_shortcodes(){
remove_shortcode('jo_customers_testimonials_slider');
add_shortcode( 'jo_customers_testimonials_slider', 'jo_customers_testimonials_slider_with_thumbnail' );
}
add_action( 'after_setup_theme', 'wpa_add_child_shortcodes' );
Auch geändert
add_action( 'after_setup_theme', 'wpa_add_child_shortcodes' );
zu
add_action( 'init', 'wpa_add_child_shortcodes' );
aber kein Unterschied im Ergebnis.
Bearbeiten 2 (mit Lösung):
Ändern add_action( 'after_setup_theme', 'wpa_add_child_shortcodes' );
zu add_action( 'wp_loaded', 'wpa_add_child_shortcodes' );
Ich habe es gelöst.