Plugin Options not being output

Question

I’ve been making a plugin for wordpress that adds two simple text field options. The options are saved successfully in plugin options page but don’t work, it doesn’t output saved options.

enter image description here

Here’s the code:

add_action( 'admin_menu', 'viptips_add_admin_menu' );
add_action( 'admin_init', 'viptips_settings_init' );


function viptips_add_admin_menu(  ) { 
  $icon       = 'dashicons-editor-table';
    add_menu_page( 'VIP Tips', 'VIP Tips', 'manage_options', 'vip_tips', 'viptips_options_page', $icon );

}


function viptips_settings_init(  ) { 

    register_setting( 'pluginPage', 'viptips_settings' );

    add_settings_section(
        'viptips_pluginPage_section', 
        __( 'Main plugin options', 'viptips' ), 
        'viptips_settings_section_callback', 
        'pluginPage'
    );

    add_settings_field( 
        'viptips_category_name', 
        __( 'Category name:', 'viptips' ), 
        'viptips_category_name_render', 
        'pluginPage', 
        'viptips_pluginPage_section' 
    );

    add_settings_field( 
        'viptips_postperpage', 
        __( 'Number of posts:', 'viptips' ), 
        'viptips_postperpage_render', 
        'pluginPage', 
        'viptips_pluginPage_section' 
    );


}


function viptips_category_name_render(  ) { 

    $options = get_option( 'viptips_settings' );
    ?>
  <input type='text' name='viptips_settings[viptips_category_name]' value='<?php echo $options['viptips_category_name']; ?>'>
  <p class="description" id="tagline-description">Name of the category that contains predictions</p>
    <?php

}


function viptips_postperpage_render(  ) { 

    $options = get_option( 'viptips_settings' );
    ?>
  <input type='number' name='viptips_settings[viptips_postperpage]' value='<?php echo $options['viptips_postperpage']; ?>'>
  <p class="description" id="tagline-description">Number of posts to be displayed in table.</p>
    <?php

}


function viptips_settings_section_callback(  ) { 

    echo __( 'Don't forget to use the <strong>[tabscat]</strong> shortcode, in the page you want the tips table to be displayed!*', 'viptips' );

}


function viptips_options_page(  ) { 

        ?>
        <form action='options.php' method='post'>

            <h1>VIP Tips</h1>

            <?php
            settings_fields( 'pluginPage' );
            do_settings_sections( 'pluginPage' );
            submit_button();
            ?>

        </form>
        <?php

}

To output saved options, I use:

$category_name = get_option('viptips_category_name');
$postperpage = get_option('viptips_postperpage');


    $args = array(
     'post_type' => 'post',
     'post_status' => 'publish',
     'category_name' => $category_name,
     'post_per_page' => $postperpage
     );

Where did I go wrong?

0
, , Knott 4 years 2020-03-04T07:51:17-05:00 0 Answers 108 views 0

Leave an answer

Browse
Browse