get_theme_mod gibt immer den Standardwert zurück

Ich arbeite an einer Website eines Kunden und versuche, dem Customizer Social-Media-Links hinzuzufügen, die dann über get_theme_mod über einen get_theme_mod aufgerufen werden get_theme_mod . Wenn ich versuche, sie anzurufen, bekomme ich immer die Standardeinstellung.

Als ich get_theme_mods überprüfte, get_theme_mods sie überhaupt nicht definiert zu sein … Im Theme Customizer sind die Felder jedoch vorhanden.

Ich habe versucht, die folgenden Fragen zu verwenden, aber das hat mir nicht geholfen:
get_theme_mod (); gibt nichts zurück
https://wordpress.stackexchange.com/questions/144544/get-theme-mod-return-a-blank-value-instead-of-saved-value

Der hinzugefügte Customizer-Code ist

 // Add social links setting $wp_customize->add_section( 'ta_pluton_social_links', array( 'title' => __( 'Social Media Links', 'ta_pluton' ), 'description' => __( 'Links for the Social Media buttons on the home page.', 'ta_pluton' ), 'priority' => 10 ) ); $social_links_default_settings = array( 'default' => '#', ); $wp_customize->add_setting('ta_pluton_social_link[facebook]', $social_links_default_settings); $wp_customize->add_setting('ta_pluton_social_link[twitter]', $social_links_default_settings); $wp_customize->add_setting('ta_pluton_social_link[googleplus]', $social_links_default_settings); $wp_customize->add_setting('ta_pluton_social_link[tumblr]', $social_links_default_settings); $wp_customize->add_setting('ta_pluton_social_link[youtube]', $social_links_default_settings); $wp_customize->add_control('ta_pluton_social_link[facebook]', array( 'label' => __('Facebook URL', 'ta_pluton'), 'section' => 'ta_pluton_social_links', 'settings' => 'ta_pluton_social_link[facebook]', )); $wp_customize->add_control('ta_pluton_social_link[twitter]', array( 'label' => __('Twitter URL', 'ta_pluton'), 'section' => 'ta_pluton_social_links', 'settings' => 'ta_pluton_social_link[twitter]', )); $wp_customize->add_control('ta_pluton_social_link[googleplus]', array( 'label' => __('Google+ URL', 'ta_pluton'), 'section' => 'ta_pluton_social_links', 'settings' => 'ta_pluton_social_link[googleplus]', )); $wp_customize->add_control('ta_pluton_social_link[tumblr]', array( 'label' => __('Tumblr URL', 'ta_pluton'), 'section' => 'ta_pluton_social_links', 'settings' => 'ta_pluton_social_link[tumblr]', )); $wp_customize->add_control('ta_pluton_social_link[youtube]', array( 'label' => __('YouTube URL', 'ta_pluton'), 'section' => 'ta_pluton_social_links', 'settings' => 'ta_pluton_social_link[youtube]', )); 

Und das ist die Shortcode-function:

 /** * Add a social media link shortcode */ if( !function_exists( 'ta_pluton_social_media_shortcode' ) ) { function ta_pluton_social_media_shortcode( $atts ) { $attributes = shortcode_atts( array( 'default' => '#' ), $atts ); if ( !array_key_exists( 'media' ) ) { trigger_error('The social_media_link shortcode requires a medium to be selector, eg: [social_media_link media="facebook"]' ); } return get_theme_mod( 'ta_pluton_social_link[' . strtolower( $attributes['media'] ) . ']', $attributes['default'] ); } add_shortcode( 'social_media_link', 'ta_pluton_social_media_shortcode' ); } 

Solutions Collecting From Web of "get_theme_mod gibt immer den Standardwert zurück"

Im Customizer-Code müssen Sie folgende Änderungen vornehmen, um zu arbeiten. Sie brauchen ta_pluton_social_link[facebook] wie Array in Control ta_pluton_social_link[facebook] . Überprüfen Sie das folgende Beispiel und ändern Sie es entsprechend auch in andere Felder.

  $wp_customize->add_control('facebook', array( 'label' => __('Facebook URL', 'ta_pluton'), 'section' => 'ta_pluton_social_links', 'settings' => 'ta_pluton_social_link[facebook]', )); 

Um die URL zu holen, können Sie get_theme_mod . Überprüfen Sie das Beispiel unten. Das folgende Snippet zeigt das Abrufen der Facebook-URL.

 $ta_pluton_social_link = get_theme_mod( 'ta_pluton_social_link' ); $facebook_url = $ta_pluton_social_link['facebook'];