微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在WordPress中从子主题function.php禁用主题功能

我在wordpress中遇到主题问题,即在主题显示了自己的og:Meta描述,因此由于一个SEO插件中的所有内容而导致重复.

我想禁用主题中的主题,但是我不知道如何,因此我设法在PHP文件上找到了触发此功能功能,以使其显示在网站上,但是我不知道如何禁用该功能. PHP或我的子主题,因此更新时不会被覆盖.有问题的功能如下

// 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 );

非常感谢.

解决方法:

功能实际上具有短路和提前返回的内置方式.如果将false的值传递到过滤器aurum_open_graph_Meta,则if将在创建任何输出之前返回.

add_filter( 'aurum_open_graph_Meta',  '__return_false' );

您可以在这里了解特殊的__return_false()函数https://codex.wordpress.org/Function_Reference/_return_false

如果此函数没有提前返回标志,则停止执行的另一种方法删除函数创建的操作.这将是一种更通用的方法,可以应用于在wordpress中任何地方注册的大多数操作.

添加您自己的操作,该操作将在添加了要删除的操作之后但在执行之前运行.

在这种情况下,您可以使用init钩子来实现.在action函数内部,调用带有要删除的详细信息或挂钩的remove_action().

add_action( 'init', 'remove_my_action' );
function remove_my_action(){
      remove_action( 'wp_head', 'aurum_wp_head_open_graph_Meta', 5 );
}

请注意,需要以与添加操作相同的$priority删除该操作(在本例中为’5′).尝试将上面的代码添加到您的子主题的functions.PHP文件中,看看是否可以删除操作.

如果您仅支持PHP> 5.3,则可以使用anonymous function清理该代码

add_action( 'init', function() { 
    remove_action( 'wp_head', 'aurum_wp_head_open_graph_Meta', 5 );
}

有关在wordpress添加/删除操作的其他一些阅读材料:https://codex.wordpress.org/Function_Reference/remove_action

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐