HEX
Server: Apache
System: Linux www 5.10.0-10-amd64 #1 SMP Debian 5.10.84-1 (2021-12-08) x86_64
User: root (0)
PHP: 8.2.1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals
Upload Files
File: /mnt/drbd/www/edenhouse/wp-content/plugins/templately/includes/Builder/Conditions/Archive.php
<?php

namespace Templately\Builder\Conditions;

class Archive extends Condition {
	protected $sub_conditions = [
		'search'
	];

	public function get_priority(): int {
		return 80;
	}

	public function get_name(): string {
		return 'archive';
	}

	public function get_label(): string {
		return 'Archive';
	}

	public function get_type(): string {
		return 'archive';
	}

	public function get_all_label(): string {
		return esc_html__( 'All Archives', 'templately' );
	}

	public function check( $args = [] ): bool {
		$is_archive = is_archive() || is_home() || is_search();

		// WooCommerce is handled by `woocommerce` module.
		if ( $is_archive && class_exists( 'woocommerce' ) && is_woocommerce() ) {
			$is_archive = is_woocommerce() || is_search() && 'product' === get_query_var( 'post_type' );
		}

		return $is_archive;
	}

	protected function register_sub_conditions() {
		foreach ( $this->builder->get_public_post_types() as $post_type => $label ) {
			if ( ! get_post_type_archive_link( $post_type ) ) {
				continue;
			}

			$condition = new PostTypeArchive( [
				'post_type' => $post_type,
			] );

			$this->register_sub_condition( $condition );
		}
	}
}