首页 > 解决方案 > 以条件逻辑方式显示我的块

问题描述

我使用这个插件来过滤我的搜索。

在本中,他们解释了如何创建我自己的自定义块。

function prefix_register_block( $blocks ) {
    
    // 'my_block' corresponds to the block slug.
    $blocks['my_block'] = [
        'name' => __( 'My Block', 'text-domain' ),
        'render_callback' => 'prefix_my_block_render',
    ];

    return $blocks;
    
}

add_filter( 'wp_grid_builder/blocks', 'prefix_register_block', 10, 1 );

// The render callback function allows to output content in cards.
function prefix_my_block_render() {

    // Get current post, term, or user object.
    $post = wpgb_get_post();

    // Output the post title.
    echo '<h3>' . esc_html( $post->post_title ) . '</h3>';

}

代码看起来很简单,所以这是一个常识问题,php专家可以很快弄清楚。

我想添加一行来说明属性类型分类法中是否存在 slug 或术语“办公室”

然后输出帖子标题

(我当然会编辑以显示自定义字段)

但是如何使条件逻辑成为可能?

感谢您的耐心等待,我尽力了解正确的技术

标签: phpwordpresscode-snippets

解决方案


我不是 WP 大师,但我认为应该这么简单。以这种方式设置要影响的 slug 数组,然后在foreach循环中遍历它们

function prefix_register_block( $blocks ) {
    $slugs = ['office','somethingelse'];
    foreach($slugs as $slug) {
      $blocks[$slug] = [
        'name' => __( ucwords($slug), 'text-domain' ),
        'render_callback' => 'prefix_my_block_render',
      ];
    }
    return $blocks;
}

add_filter( 'wp_grid_builder/blocks', 'prefix_register_block', 10, 1 );

// The render callback function allows to output content in cards.
function prefix_my_block_render() {
    // Get current post, term, or user object.
    $post = wpgb_get_post();
    // Output the post title.
    echo '<h3>' . esc_html( $post->post_title ) . '</h3>';
}

推荐阅读