php 如何修复call_user_func_array()期望参数1是一个有效的回调,WordPress中的函数“my_cpt_single_template”

vyswwuz2  于 2023-01-16  发布在  PHP
关注(0)|答案(1)|浏览(155)

我试图运行一些jQuery内的一个php自定义文章类型模板在WordPress中使用层次结构文件:single-event.php文件(从single.php复制,并在模板顶部添加jQuery):

<script>
jQuery(document).ready(function($) {
    var hexColor = '<?php the_field("event_main_color") ?>';
    $(".event-box-background").css("background-color", hexColor);
    console.log('Working');
});
</script>

控制台不记录日志,所以当我加载单个事件页面时,脚本不运行。
我在我的functions.php文件中有以下代码:

function my_cpt_event_template($single_template) {
global $post;
if ($post->post_type == 'event') {
$single_template = dirname( __FILE__ ) . '/single-event.php';
}
return $single_template;
}

add_filter( 'single_template', 'my_cpt_single_template' );

我在访问单个自定义帖子类型时收到此错误:
警告:call_user_func_array()要求参数1是有效的回调函数,在第310行的/public_html/wp-includes/class-wp-hook. php中找不到函数“my_cpt_single_template”或函数名无效
我该如何修复这个问题,以便WordPress加载single-event.php模板文件为CPT UI生成的自定义文章类型'事件'?
非常感谢。

zte4gxcn

zte4gxcn1#

我认为这个错误是由于你的函数名不同。
您需要更改钩子中的函数名以匹配您定义的函数名。

function my_cpt_single_template( $single_template ) {
    global $post;
    if ( $post->post_type == 'book' ) {
        $single_template = dirname( __FILE__ ) . '/single-event.php';
    }
    return $single_template;
}
add_filter( 'single_template', 'my_cpt_single_template' );

相关问题