prepare_controls() публичный Метод

For each, check if required related components exist, whether the user has the necessary capabilities, and sort by priority.
С версии: 3.4.0
public prepare_controls ( )
 /**
  * @ticket 37128
  */
 function test_prepare_controls_wp_list_sort_panels()
 {
     wp_set_current_user(self::$admin_user_id);
     $panels = array('foo' => 2, 'bar' => 4, 'foobar' => 3, 'key' => 1);
     $panels_sorted = array('key', 'foo', 'foobar', 'bar');
     foreach ($panels as $panel_id => $priority) {
         $this->manager->add_panel($panel_id, array('priority' => $priority));
     }
     $this->manager->prepare_controls();
     $result = $this->manager->panels();
     $this->assertEquals($panels_sorted, array_keys($result));
 }
Пример #2
0
 /**
  * Test customize_pane_settings() method.
  *
  * @see WP_Customize_Manager::customize_pane_settings()
  */
 function test_customize_pane_settings()
 {
     wp_set_current_user($this->factory->user->create(array('role' => 'administrator')));
     $this->manager->register_controls();
     $this->manager->prepare_controls();
     $autofocus = array('control' => 'blogname');
     $this->manager->set_autofocus($autofocus);
     ob_start();
     $this->manager->customize_pane_settings();
     $content = ob_get_clean();
     $this->assertContains('var _wpCustomizeSettings =', $content);
     $this->assertContains('"blogname"', $content);
     $this->assertContains('_wpCustomizeSettings.controls', $content);
     $this->assertContains('_wpCustomizeSettings.settings', $content);
     $this->assertContains('</script>', $content);
     $this->assertNotEmpty(preg_match('#var _wpCustomizeSettings\\s*=\\s*({.*?});\\s*\\n#', $content, $matches));
     $json = $matches[1];
     $data = json_decode($json, true);
     $this->assertNotEmpty($data);
     $this->assertEqualSets(array('theme', 'url', 'browser', 'panels', 'sections', 'nonce', 'autofocus', 'documentTitleTmpl'), array_keys($data));
     $this->assertEquals($autofocus, $data['autofocus']);
     $this->assertArrayHasKey('save', $data['nonce']);
     $this->assertArrayHasKey('preview', $data['nonce']);
 }
Пример #3
0
	/**
	 * @ticket 30225
	 * @ticket 34594
	 */
	function test_prepare_controls_stable_sorting() {
		$manager = new WP_Customize_Manager();
		$manager->register_controls();
		$section_id = 'foo-section';
		wp_set_current_user( self::factory()->user->create( array( 'role' => 'administrator' ) ) );
		$manager->add_section( $section_id, array(
			'title'      => 'Section',
			'priority'   => 1,
		) );

		$added_control_ids = array();
		$count = 9;
		for ( $i = 0; $i < $count; $i += 1 ) {
			$id = 'sort-test-' . $i;
			$added_control_ids[] = $id;
			$manager->add_setting( $id );
			$control = new WP_Customize_Control( $manager, $id, array(
				'section' => $section_id,
				'priority' => 1,
				'setting' => $id,
			) );
			$manager->add_control( $control );
		}

		$manager->prepare_controls();

		$sorted_control_ids = wp_list_pluck( $manager->get_section( $section_id )->controls, 'id' );
		$this->assertEquals( $added_control_ids, $sorted_control_ids );
	}