Класс пользовательского элемента управления Wp Customizer — получить значение из пользовательского аргумента для функцииPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Класс пользовательского элемента управления Wp Customizer — получить значение из пользовательского аргумента для функции

Сообщение Anonymous »

Я работаю с настраиваемым элементом управления в настройщике wp.
Получил собственный аргумент для этого элемента управления ( foo ) и пытаюсь получить его значение как часть каталога очереди. >
Итак, пользовательский аргумент foo правильно отображается в функции render_content();
Когда я пытаюсь сделать то же самое в функции foo_enqueue(); (да, я знаю, что это связано с действием), это нарушение.
После этого даже при рендеринге содержимого вывод аргумента foo исчезает.
Класс выглядит так:

Код: Выделить всё

class Foo_Control extends WP_Customize_Control {

public $type = 'foo_control';

public $foo; // declare foo argument

public function __construct( $manager, $id, $args = array(), $options = array() ) {

parent::__construct( $manager, $id, $args );

add_action( 'customize_controls_enqueue_scripts', array( $this, 'foo_enqueue' ), 15 );
}

public function foo_enqueue() {

wp_enqueue_script( 'foo-script', get_template_directory_uri() . '/js/foo-script.js', array( 'jquery' ), '1.0', true );

// $this->foo = $foo_dir;
// wp_enqueue_script( 'foo-script', get_template_directory_uri() . '/js/'.$foo_dir.'.js', array( 'jquery' ), '1.0', true );

// js file is not loading with $foo_dir and brokes display foo at render_content after apply
}

public function render_content() {

echo $this->label;          // Foo label
echo $this->description;    // Foo desc

echo $this->foo;  // foo-script
}
}
И настройка с элементом управления, добавленным в $wp_customize, выглядит так:

Код: Выделить всё

$wp_customize->add_setting( 'my_foo_control', array(
'type' => 'theme_mod',
));

$wp_customize->add_control( new Foo_Control( $wp_customize,'my_foo_control', array(
'section'       => 'homepage',
'label'         => 'Foo label',
'description'   => 'Foo desc',
'foo'           => 'foo-script', // custom argument

) ));
  • Пробовал с $this->foo,
  • Пробывал с функцией a, функцией b($a)
  • Пробывал с функцией a() { b();
  • Проверено с помощью self::render_content(); внутри foo_enqueue();
Все еще не могу.

Подробнее здесь: https://stackoverflow.com/questions/786 ... -enqueue-f
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»