# wordpress-seo/18.0/src/generators/schema/abstract-schema-piece.php

Yoast SEO – Advanced SEO with real-time guidance and built-in AI, version 18.0. 41 lines.

- Page: https://pluginprobe.com/plugins/wordpress-seo/18.0/code/src/generators/schema/abstract-schema-piece.php
- Raw: https://pluginprobe.com/plugins/wordpress-seo/18.0/raw/src/generators/schema/abstract-schema-piece.php
- Modified: 2020-09-01T12:27:02+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/wordpress-seo/18.0/code/src/generators/schema/abstract-schema-piece.php#L10-L20`.

```php
<?php

namespace Yoast\WP\SEO\Generators\Schema;

use Yoast\WP\SEO\Context\Meta_Tags_Context;
use Yoast\WP\SEO\Surfaces\Helpers_Surface;

/**
 * Class Abstract_Schema_Piece.
 */
abstract class Abstract_Schema_Piece {

	/**
	 * The meta tags context.
	 *
	 * @var Meta_Tags_Context
	 */
	public $context;

	/**
	 * The helpers surface
	 *
	 * @var Helpers_Surface
	 */
	public $helpers;

	/**
	 * Generates the schema piece.
	 *
	 * @return mixed
	 */
	abstract public function generate();

	/**
	 * Determines whether the schema piece is needed.
	 *
	 * @return bool
	 */
	abstract public function is_needed();
}

```
