Ich hatte ein Problem mit meinem Theme in WordPress, das seine eigenen og:meta-Beschreibungen auf meinem Theme anzeigte, so dass es aufgrund von All-in-One-SEO-Plugins dupliziert wurde.
Ich wollte die aus dem Thema deaktivieren, aber ich wusste nicht wie, also schaffe ich es, die Funktion in der PHP-Datei zu finden, die dies auslöst, um sie auf der Website anzuzeigen, aber ich weiß nicht, wie ich sie von den Funktionen deaktivieren kann. php oder mein Child-Theme, damit es beim Update nicht überschrieben wird. Die fragliche Funktion ist die folgende
// Open Graph Meta
function aurum_wp_head_open_graph_meta() {
global $post;
// Only show if open graph meta is allowed
if ( ! apply_filters( 'aurum_open_graph_meta', true ) ) {
return;
}
// Do not show open graph meta on single posts
if ( ! is_singular() ) {
return;
}
$image="";
if ( has_post_thumbnail( $post->ID ) ) {
$featured_image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'original' );
$image = esc_attr( $featured_image[0] );
}
?>
<meta property="og:type" content="article"/>
<meta property="og:title" content="<?php echo esc_attr( get_the_title() ); ?>"/>
<meta property="og:url" content="<?php echo esc_url( get_permalink() ); ?>"/>
<meta property="og:site_name" content="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>"/>
<meta property="og:description" content="<?php echo esc_attr( get_the_excerpt() ); ?>"/>
<?php if ( '' != $image ) : ?>
<meta property="og:image" content="<?php echo $image; ?>"/>
<?php endif;
}
add_action( 'wp_head', 'aurum_wp_head_open_graph_meta', 5 );
Vielen Dank im Voraus.
Diese Funktion hat tatsächlich eine eingebaute Möglichkeit, kurzzuschließen und vorzeitig zurückzukehren. Wenn der Wert von false
wird zum Filter geleitet aurum_open_graph_meta
if wird zurückgegeben, bevor eine Ausgabe erstellt wird.
add_filter( 'aurum_open_graph_meta', '__return_false' );
Sie können über das Besondere lesen __return_false()
Funktion hier: https://codex.wordpress.org/Function_Reference/_return_false
Wenn diese Funktion kein Flag für vorzeitige Rückkehr hätte, wäre eine alternative Methode, um ihre Ausführung zu stoppen, das Entfernen der Aktion, die die Funktion erstellt. Dies wäre eine universellere Methode, die auf die meisten Aktionen angewendet werden könnte, die irgendwo in WordPress registriert sind.
Fügen Sie Ihre eigene Aktion hinzu, die ausgeführt wird nachdem die zu entfernende Aktion hinzugefügt wurde, aber bevor sie ausgeführt wird.
In diesem Fall können Sie die verwenden init
Haken, um das zu erreichen. Rufen Sie innerhalb Ihrer Aktionsfunktion an remove_action()
mit den Details oder dem Haken, den Sie entfernen möchten.
add_action( 'init', 'remove_my_action' );
function remove_my_action(){
remove_action( 'wp_head', 'aurum_wp_head_open_graph_meta', 5 );
}
Beachten Sie, dass die Aktion auf demselben entfernt werden muss $priority
wie es hinzugefügt wurde (in diesem Fall ‘5’). Versuchen Sie, den obigen Code zur Datei functions.php Ihres untergeordneten Themas hinzuzufügen, und prüfen Sie, ob die Aktion dadurch entfernt wird.
Wenn Sie nur php>5.3 unterstützen, können Sie diesen Code mit einem bereinigen Anonyme Funktion:
add_action( 'init', function() {
remove_action( 'wp_head', 'aurum_wp_head_open_graph_meta', 5 );
}
Etwas zusätzliche Lektüre zum Hinzufügen/Entfernen von Aktionen in WordPress: https://codex.wordpress.org/Function_Reference/remove_action