承接 yard/query-block 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

yard/query-block

最新稳定版本:v1.2.0

Composer 安装命令:

composer require yard/query-block

包简介

A query block for the Gutenberg editor.

README 文档

README

Code Style PHPStan Tests Code Coverage Badge Lines of Code Badge

An acorn package providing a "Query Block" for the Gutenberg editor.

Requirements

Installation

  1. Install this package with Composer:

    composer require yard/query-block
  2. Run the Acorn WP-CLI command to discover this package:

    wp acorn package:discover

Usage

When this package is installed, you can insert the “Berichtenlijst” block in the Gutenberg editor. This block lists a series of posts based on different filter settings in the admin.

Templates

Override Default Template

A default template is included in the package. You can publish the template to your project with:

wp acorn vendor:publish --provider="Yard\QueryBlock\QueryBlockServiceProvider"

This will copy the view default.php from this package into your project at /sage/resources/views/vendor/yard-query-block/templates/default.blade.php. You can now modify the default template as desired.

Create Aditional Templates

You can create additional templates by placing a template file in the same directory. For example:

/sage/resources/views/vendor/yard-query-block/templates/horizontal.blade.php

Add the template name as a comment at the top of this template file like this:

@php
/**
 * Template: Horizontal
 *
 * @var Illuminate\Support\Collection|Yard\Data\PostData $postDataCollection
 * @var Yard\QueryBlock\Block\BlockAttributes $attributes
 */
@endphp

Now, you will be able to select the template from the editor. The name of the template is displayed using the value in your docblock.

Hooks

JavaScript filters

yard.query-inspector-config

Customize which controls are displayed in the block's inspector panel.

import { addFilter } from '@wordpress/hooks';

addFilter(
    'yard.query-inspector-config',
    'yard.query-inspector-config',
    ( config, attributes ) => {
        return {
            ...config,
            showPostTypeSelectControl: false, 
            showNumberOfPostsRangeControl: false,
        };
    }
);

yard.query-exclude-post-types

Exclude specific post types from the list of available post types.

import { addFilter } from '@wordpress/hooks';

addFilter(
    'yard.query-exclude-post-types',
    'yard.query-exclude-post-types',
    ( excludedPostTypes ) => {
        return [
            ...excludedPostTypes,
            'healthcare-provider',
            'location',
            'page',
        ];
    }
);

yard.query-exclude-taxonomies

Exclude specific taxonomies from the list of available taxonomies.

import { addFilter } from '@wordpress/hooks';

addFilter(
    'yard.query-exclude-taxonomies',
    'yard.query-exclude-taxonomies',
    ( excludedTaxonomies ) => {
        return [ 'category', 'post_tag' ]; 
    }
);

yard.query-min-number-of-posts and yard.query-max-number-of-posts

Customize the minimum and maximum value for the posts per page range.

import { addFilter } from '@wordpress/hooks';

addFilter(
    'yard.query-max-number-of-posts',
    'yard.query-max-number-of-posts',
        (defaultMax, attributes) => {
        const postTypeValues = attributes.postTypes?.map((type) => type.value) || [];
        
        if (postTypeValues.includes('news')) {
            return 5;
        }

        if (postTypeValues.includes('healthcare-provider')) {
            return 2;
        }

        return defaultMax;
    }
);

yard.query-post-type-select-control-is-multi

Change the post type select control from multi to single select.

import { addFilter } from '@wordpress/hooks';

addFilter(
    'yard.query-post-type-select-control-is-multi',
    'yard.query-post-type-select-control-is-multi',
    () => false
);

PHP filters

yard_query_block_post_query

Filters the Post Query before it is executed on the database.

Parameters Type Description
$query \Corcel\Model\Builder\PostBuilder The query object
$attributes \Yard\QueryBlock\Block\BlockAttributes The block attributes
Return Type Description
$query \Corcel\Model\Builder\PostBuilder The query object

Example:

add_filter('yard_query_block_post_query', function ($query, $attributes) {
    if (is_user_logged_in()) {
        return $query;
    }

    return $query->hasMeta('post_is_public', 'yes');
}, 10, 2);

About us

banner

统计信息

  • 总下载量: 289
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: JavaScript

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-12-03