Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Contributor Franz Josef Kaiser

    (@f-j-kaiser)

    Seems we used a PHP v5.4 argument there. @EliasNS, you should update to 5.4 anyway (or poke your hoster to do it) as lower versions are already without support and considered unsecure as they don’t receive any security updates anymore. See the PHP End-Of-Life list – it’s dead since 6 month.

    Thread Starter Elías

    (@eliasgdj)

    I just wanted to have CPT Archives available in the custom menus screen. I was testing some plugins, and since this one was not working for me, I wanted to mark it on the compatibility widget, on the Plugin page. The page suggested me to open a topic, so I did it ^^

    I found another that just works. I don’t know about PHP or anything, so I think you can do it without that error as well the other plugins, isn’t it?

    Thanks for your reply!

    Plugin Contributor Franz Josef Kaiser

    (@f-j-kaiser)

    You can do it without an unmaintained and unsecure PHP version as well. You do update your WordPress, right? ??

    Thread Starter Elías

    (@eliasgdj)

    I have access to the WordPress dashboard, but I don’t have to the server software ??

    Plugin Contributor Franz Josef Kaiser

    (@f-j-kaiser)

    That’s ok. Just tell your hoster that they should upgrade what they provide.

    Plugin Author Stephen Harris

    (@stephenharris)

    Have just released an update for this. But as Kaiser has pointed out, pester your host to upgrade your PHP version. It’ll make your site faster too ??

    Thread Starter Elías

    (@eliasgdj)

    Thanks! By now I’m using this snippet:

    /**
     * CPT archives en los Menus de Apariencia.
     */
    
    add_action( 'admin_head-nav-menus.php', 'inject_cpt_archives_menu_meta_box');
      function inject_cpt_archives_menu_meta_box( $object ) {
        add_meta_box( 'add-cpt', __( 'CPT Archives' ), 'wp_nav_menu_cpt_archives_meta_box', 'nav-menus', 'side', 'default' );
    
        return $object; /* pass */
      }
    
      /* render custom post type archives meta box */
      function wp_nav_menu_cpt_archives_meta_box() {
        /* get custom post types with archive support */
        $post_types = get_post_types( array( 'show_in_nav_menus' => true, 'has_archive' => true ), 'object' );    
    
        /* hydrate the necessary object properties for the walker */
        foreach ( $post_types as $post_type ) {
            $post_type->classes = array();
            $post_type->type = $post_type->name;
            $post_type->object_id = $post_type->name;
            $post_type->title = $post_type->labels->name . ' ' . __( 'Archive', 'default' );
            $post_type->object = 'cpt-archive';
        }
    
        $walker = new Walker_Nav_Menu_Checklist( array() );
    
        ?>
        <div id="cpt-archive" class="posttypediv">
          <div id="tabs-panel-cpt-archive" class="tabs-panel tabs-panel-active">
            <ul id="ctp-archive-checklist" class="categorychecklist form-no-clear">
              <?php
                echo walk_nav_menu_tree( array_map('wp_setup_nav_menu_item', $post_types), 0, (object) array( 'walker' => $walker) );
              ?>
            </ul>
          </div><!-- /.tabs-panel -->
        </div>
        <p class="button-controls">
          <span class="add-to-menu">
            <img class="waiting" src="<?php echo esc_url( admin_url( 'images/wpspin_light.gif' ) ); ?>" alt="" />
            <input type="submit"<?php disabled( $nav_menu_selected_id, 0 ); ?> class="button-secondary submit-add-to-menu" value="<?php esc_attr_e('Add to Menu'); ?>" name="add-ctp-archive-menu-item" id="submit-cpt-archive" />
          </span>
        </p>
        <?php
      }
    
      add_filter( 'wp_get_nav_menu_items', 'cpt_archive_menu_filter', 10, 3 );
      function cpt_archive_menu_filter( $items, $menu, $args ) {
        /* alter the URL for cpt-archive objects */
        foreach ( $items as $item ) {
          if ( $item->object != 'cpt-archive' ) continue;
          $item->url = get_post_type_archive_link( $item->type );
        }
    
        return $items;
      }
Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘Warning on adding a link’ is closed to new replies.