logo
19.06.2018 19:54
1
Hledám plugin, který by mi umožnil vložit vždy jiný text do sidebaru u každého příspěvku. Aby bylo možné sidebar editovat u jednotlivých příspěvků.

Existuje něco takového?

Vždy jsem našel pouze plugin, které umožňují vytvoření a následně přiřazení ke stránce, ale musel bych takto vytvořit stovky sidebarů a pak je přiřazovat.

Nějaké rady?
19.06.2018 21:41
2
Co vytvořit pro příspěvky uživatelské pole a v sidebaru ho zobrazovat?
19.06.2018 21:50
3
1) Tohle zkopíruj do souboru function.php u aktivního vzhledu na poslední řádek (před ?> pokud tam bude) - na WP 4.9.6 to funguje.

2) Pak do sidebaru dej textový widget s obsahem [webtrh_lukasp_post_content]

3) Následně v příspěvku, v pravém panelu budeš mít box "Obsah pro sidebar", ten se zobrazí v sidebaru u daného příspěvku na dané pozici. (HTML tagy to zvládne.)

PHP kód:
function webtrh_lukasp_init(){
    
    add_meta_box('webtrh_lukasp_admin_box', __( 'Obsah pro sidebar'), 'webtrh_lukasp_admin_box', 'post', 'side', 'high');

}

add_action('add_meta_boxes', 'webtrh_lukasp_init');

function webtrh_lukasp_admin_box($post){
    
    wp_nonce_field('myplugin_meta_box', 'myplugin_meta_box_nonce');

    $webtrh_lukasp_post_content = get_post_meta($post->ID, 'webtrh_lukasp_post_content', true);?>

    <textarea id="webtrh_lukasp_post_content" name="webtrh_lukasp_post_content" /><?php echo $webtrh_lukasp_post_content;?></textarea>

<?php    
}

function 
webtrh_lukasp_save($post_id){

    if(!isset(
$_POST['myplugin_meta_box_nonce'])){
        return;
    }

    if (!
wp_verify_nonce($_POST['myplugin_meta_box_nonce'], 'myplugin_meta_box')){
        return;
    }

    if(
defined('DOING_AUTOSAVE') && DOING_AUTOSAVE){
        return;
    }

    if (isset(
$_POST['post_type']) && 'page' == $_POST['post_type']){

        if(!
current_user_can('edit_page'$post_id)){
            return;
        }

    }
        else{

        if(!
current_user_can('edit_post'$post_id)){
            return;
        }
    }


    if(
$_POST['webtrh_lukasp_post_content']){

        
$webtrh_lukasp_post_content trim($_POST['webtrh_lukasp_post_content']);
                
        
update_post_meta($post_id'webtrh_lukasp_post_content'$webtrh_lukasp_post_content);

    }
        
}

add_action('save_post''webtrh_lukasp_save');

function 
webtrh_lukasp_post_content_shortcode(){
   
    
$content get_post_meta(get_the_ID(), 'webtrh_lukasp_post_content'true);
    
    return 
$content;
    
}

add_shortcode('webtrh_lukasp_post_content''webtrh_lukasp_post_content_shortcode');