Wsparcie » Wtyczki » Własny metabox problem z zapisem i wczytaniem danych

  • Witam mam problem z zapisywaniem tekstu zawartego w polach tekstowych z metabox’u. Otóż mimo generowania funkcji na podstawie poradników nie zapisuje oraz nie wczytuje wprowadzonych danych wszystko zastępuje znakiem – „.

    Kod:

    add_action ('add_meta_boxes', 'linkbox_add');
    		function linkbox_add () {
    			add_meta_box ( 'linkbox', __('Linkbox' , 'linkbox-TEXTDOMAIN'), 'linkbox_callback', 'discography');
    		}
    
    		function linkbox_callback( $post ) {
    			$values = get_post_custom ($post->ID);
    			$buy_link = isset( $values['linkbox_buy'] ) ? esc_attr( $values['linkbox_buy'][0] ) : ”;
    			$download_link = isset( $values['linkbox_download'] ) ? esc_attr( $values['linkbox_download'][0] ) : ”;
    			$listen_link = isset( $values['linkbox_listen'] ) ? esc_attr( $values['linkbox_listen'][0] ) : ”;
    
    			?>
    				<p>
    				<label for='linkbox_buy'>Link do sklepu:</label>
    				<br>
    				<input type='text' name='linkbox_buy' id='linkbox_buy' value='<?php echo $buy_link; ?>' />
    				</p>
    
    				<p>
    				<label for='linkbox_download'>Link do downloadu:</label>
    				<br>
    				<input type='text' name='linkbox_download' id='linkbox_download' value='<?php echo $download_link; ?>' />
    				</p>
    
    				<p>
    				<label for='linkbox_listen'>Link do odsłuchu:</label>
    				<br>
    				<input type='text' name='linkbox_listen' id='linkbox_listen' value='<?php echo $listen_link; ?>' />
    				</p>
    			<?php
    		}
    
    	// METABOX SAVE FOR DISCOGRAPHY
    
    	function linkbox_save( $post_id ) {
        // Checks save status
        $is_autosave = wp_is_post_autosave( $post_id );
        $is_revision = wp_is_post_revision( $post_id );
        $is_valid_nonce = ( isset( $_POST[ 'prfx_nonce' ] ) && wp_verify_nonce( $_POST[ 'prfx_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false';
        // Exits script depending on save status
        if ( $is_autosave || $is_revision || !$is_valid_nonce ) {return;}
        // Checks for input and sanitizes/saves if needed
        if( isset( $_POST[ 'meta-text' ] ) ) {update_post_meta( $post_id, 'meta-text', sanitize_text_field( $_POST[ 'meta-text' ] ) );}
    	}
    
    	add_action( 'save_post', 'linkbox_save' );
    
    	// Retrieves the stored value from the database
        $meta_value = get_post_meta( get_the_ID(), 'meta-text', true );
    
        // Checks and displays the retrieved value
        if( !empty( $meta_value ) ) {
            echo $meta_value;
        }

    Nie mam pojęcia co z tym zrobić. Szukam w necie tydzień i nic. Po przeczytaniu XX poradników wiem tylko, że poprawnie tworzę pola, a przynajmniej, że się wyświetlają 🙂

  • Temat ‘Własny metabox problem z zapisem i wczytaniem danych’ jest zamknięty na nowe odpowiedzi.