0

我的acf-blocks有问题。

我试图在 ACF-pro 中创建一个块。我编写的代码工作正常,我的块工作正常。但我的问题是,当我<?php wp_head(); ?>header.php中写入时,wp 中编辑页面上的块不再起作用。它不阅读任何 CSS 并说:

您的站点不包含 acf / header 块支持。您可以保留此块原样或完全删除它。

我有一个名为header-block.php的文件,我在其中放置了以下代码:

/**
 * Block registration
 */
add_action('acf/init', 'ex_page_header');
function ex_page_header()
{

    // check function exists
    if (function_exists('acf_register_block')) {

        // register a testimonial block
        acf_register_block(array(
            'name' => 'header_block',
            'title' => __('Header block'),
            'description' => __('Header block'),
            'render_callback' => 'header_render_callback',
            'category' => 'formatting',
            'icon' => 'admin-comments',
            'keywords' => array('headerbar'),
        ));
    }
}

/**
 * Render block
 */
function header_render_callback($block)
{
    if (file_exists(get_theme_file_path("blocks/front-page/header/header-block-content.php"))) {
        include(get_theme_file_path("blocks/front-page/header/header-block-content.php"));
    }
}   

在我的header.php中,我写 <?php wp_head(); ?>在结束标记之前。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Examensarbete</title>
     <?php wp_head(); ?> 
</head>
<body> 

标题正在加载。但是当我进入wordpress 中的编辑页面时,它不会读取 css 或块。当我<?php wp_head(); ?> 在 header.php 中删除时,在编辑页面上一切正常,但 CSS 没有在网站上读取。

如果我保留<?php wp_head(); ?>在 header.php 文件中但删除:

 * Render block
 */
function header_render_callback($block)
{
    if (file_exists(get_theme_file_path("blocks/front-page/header/header-block-content.php"))) {
        include(get_theme_file_path("blocks/front-page/header/header-block-content.php"));
    }
} 

header-block.php中,我可以在 wp 的编辑页面上看到 CSS 和块。但是我在网站上看不到该块。

我试图把

define( 'CONCATENATE_SCRIPTS', false ); 
define( 'SCRIPT_DEBUG', true );

在我的functions.php文件中是否可能是脚本合并在一起的问题。但是那个剂量有效。

我还有一个名为 header-block-content.php 的文件,其中包含该块的 HTML 代码。

所以,我的 wp_head(); 也有问题。或“渲染块”,我不知道该怎么做。

4

0 回答 0