| Server IP : 146.59.209.152 / Your IP : 216.73.216.152 Web Server : Apache System : Linux webm009.cluster131.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : monpetu ( 144298) PHP Version : 7.4.33 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/monpetu/www/benneplus/wp-content/themes/neve/header-footer-grid/Core/Components/ |
Upload File : |
<?php
/**
* Button Component class for Header Footer Grid.
*
* Name: Header Footer Grid
* Author: Bogdan Preda <bogdan.preda@themeisle.com>
*
* @version 1.0.0
* @package HFG
*/
namespace HFG\Core\Components;
use HFG\Core\Settings\Manager as SettingsManager;
use HFG\Main;
use WP_Customize_Manager;
/**
* Class Button
*
* @package HFG\Core\Components
*/
class Search extends Abstract_Component {
const COMPONENT_ID = 'header_search';
const PLACEHOLDER_ID = 'placeholder';
/**
* Button constructor.
*
* @since 1.0.0
* @access public
*/
public function init() {
$this->set_property( 'label', __( 'Search Form', 'neve' ) );
$this->set_property( 'id', $this->get_class_const( 'COMPONENT_ID' ) );
$this->set_property( 'component_slug', 'hfg-search-form' );
$this->set_property( 'width', 2 );
$this->set_property( 'icon', 'code-standards' );
}
/**
* Called to register component controls.
*
* @since 1.0.0
* @access public
*/
public function add_settings() {
SettingsManager::get_instance()->add(
[
'id' => self::PLACEHOLDER_ID,
'group' => $this->get_class_const( 'COMPONENT_ID' ),
'tab' => SettingsManager::TAB_GENERAL,
'transport' => 'post' . $this->get_class_const( 'COMPONENT_ID' ),
'sanitize_callback' => 'wp_filter_nohtml_kses',
'default' => __( 'Search for...', 'neve' ),
'label' => __( 'Placeholder', 'neve' ),
'type' => 'text',
'section' => $this->section,
]
);
}
/**
* The render method for the component.
*
* @since 1.0.0
* @access public
*/
public function render_component() {
add_filter( 'get_search_form', [ $this, 'change_placeholder' ] );
Main::get_instance()->load( 'components/component-search' );
remove_filter( 'get_search_form', [ $this, 'change_placeholder' ] );
}
/**
* Change the form placeholder.
*
* @param string $form form markup.
*
* @return string
*/
public function change_placeholder( $form ) {
$form = '';
$placeholder = get_theme_mod( $this->get_id() . '_placeholder', __( 'Search for...', 'neve' ) );
$form .= '<form role="search" method="get" class="search-form" action="' . esc_url( home_url( '/' ) ) . '">';
$form .= '<label>';
$form .= '<span class="screen-reader-text">' . __( 'Search for...', 'neve' ) . '</span>';
$form .= '<input type="search" class="search-field" placeholder="' . esc_html( $placeholder ) . '" value="" name="s">';
$form .= '</label>';
$form .= '<input type="submit" class="search-submit" value="Search">';
$form .= '</form>';
return $form;
}
}