The Support Forums will be in read-only mode for a scheduled maintenance window on 01 September 2016 14:00 UTC - 20:00 UTC. More information.

Section Widget
Using the Section Widget on Custom Post pages (1 post)

  1. Paul Vickery
    Posted 4 years ago #

    I use the Section Widget for all our side bar content, but recently we introduced a custom post type, and needed some widgets displayed on only those pages, so I modified the widget to support custom post types. The changes are quite simple, and so I will post them here.

    Only one file needs to be modified. That file is olt-checklist\olt-checklist.php.

    The following function needs to be added somewhere in the file. I added it just after the line at about line 9 that reads:
    if(!function_exists('olt_checklist')) {. The function is:

         * PSV: Function to get custom post types as an array
        function getCustomPostTypes() {
    	$args = array('_builtin' => false);
    	$output = 'names'; // names or objects, note names is the default
    	$operator = 'and'; // 'and' or 'or'
    	$post_types = get_post_types($args, $output, $operator);
    	return $post_types;

    That simply returns an array of the defined custom post types. Next, we need to add the post types to the array of condition check boxes:

    /* PSV: Add all custom post types */
    		$post_types = getCustomPostTypes();
    		foreach ($post_types as $post_type) {
    		    $type = get_post_type_object($post_type);
                        array_push($data, (object) array('id' => $post_type, 'name' => $type->labels->name, 'description' => 'Display this widget on all '.$type->labels->name.'.'));

    That should be added just before the line that reads:
    $walker = new OLTSpecialPagesChecklistWalker;

    Next, we need to add to the condition check, so we know when to display the widget. Just after the code that reads:

    case "notfound":
                            return true;

    add the following:

    default: // PSV: allow for custom post types
                            return true;

    That's it. With these changes, you will see new check boxes for your custom post types at the bottom of the Special Pages tab.


Topic Closed

This topic has been closed to new replies.

About this Plugin

  • Section Widget
  • Frequently Asked Questions
  • Support Threads
  • Reviews

About this Topic