add_state_query_params() 공개 메소드

Add customize state query params to a given URL if preview is allowed.
또한 보기: wp_redirect()
또한 보기: WP_Customize_Manager::get_allowed_url()
부터: 4.7.0
public add_state_query_params ( string $url ) : string
$url string URL.
리턴 string URL.
 /**
  * Test WP_Customize_Manager::add_state_query_params().
  *
  * @ticket 30937
  * @covers WP_Customize_Manager::add_state_query_params()
  */
 function test_add_state_query_params()
 {
     $preview_theme = $this->get_inactive_core_theme();
     $uuid = wp_generate_uuid4();
     $messenger_channel = 'preview-0';
     $wp_customize = new WP_Customize_Manager(array('changeset_uuid' => $uuid, 'messenger_channel' => $messenger_channel));
     $url = $wp_customize->add_state_query_params(home_url('/'));
     $parsed_url = wp_parse_url($url);
     parse_str($parsed_url['query'], $query_params);
     $this->assertArrayHasKey('customize_messenger_channel', $query_params);
     $this->assertArrayHasKey('customize_changeset_uuid', $query_params);
     $this->assertArrayNotHasKey('customize_theme', $query_params);
     $this->assertEquals($uuid, $query_params['customize_changeset_uuid']);
     $this->assertEquals($messenger_channel, $query_params['customize_messenger_channel']);
     $uuid = wp_generate_uuid4();
     $wp_customize = new WP_Customize_Manager(array('changeset_uuid' => $uuid, 'messenger_channel' => null, 'theme' => $preview_theme));
     $url = $wp_customize->add_state_query_params(home_url('/'));
     $parsed_url = wp_parse_url($url);
     parse_str($parsed_url['query'], $query_params);
     $this->assertArrayNotHasKey('customize_messenger_channel', $query_params);
     $this->assertArrayHasKey('customize_changeset_uuid', $query_params);
     $this->assertArrayHasKey('customize_theme', $query_params);
     $this->assertEquals($uuid, $query_params['customize_changeset_uuid']);
     $this->assertEquals($preview_theme, $query_params['customize_theme']);
     $uuid = wp_generate_uuid4();
     $wp_customize = new WP_Customize_Manager(array('changeset_uuid' => $uuid, 'messenger_channel' => null, 'theme' => $preview_theme));
     $url = $wp_customize->add_state_query_params('http://not-allowed.example.com/?q=1');
     $parsed_url = wp_parse_url($url);
     parse_str($parsed_url['query'], $query_params);
     $this->assertArrayNotHasKey('customize_messenger_channel', $query_params);
     $this->assertArrayNotHasKey('customize_changeset_uuid', $query_params);
     $this->assertArrayNotHasKey('customize_theme', $query_params);
 }