wordpress没有function.php,在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] );

}

?>

}

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

如果此函数没有提前返回标志,则停止执行的另一种方法是删除该函数创建的操作.这将是一种更通用的方法,可以应用于在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 );

}

标签:themes,wordpress,php,function

来源: https://codeday.me/bug/20191026/1938521.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值