This is searchable archive of our old support forums, which operated from 2012 - 2016. To find out how to get support for your current theme, please visit our support page.

Creating Custom Post Type for Jumpstart 2.x based on Portfolio Plugin

  • Creator
  • #24863

    Hi Jason,

    Still loving Jumpstart 2.x.

    I’m in the throws of upgrading a website from Jumpstart 1.x to 2.x. As part of the website upgrade/re-design, I need to (re)create 3 or 4 custom post types.

    This go-around, I would like them to integrate (better) with Jumpstart and Layout Builder ala your Portfolios plugin (easier to use post lists, grids, etc.). They need some individual custom fields, other special handling, etc. and I will also have Jumpstart custom-xxxxxx.php template post files for them. Also, UI/UX design-wise I think it’s better to keep them separate from other posts and portfolio posts. Plus, I will be able to use them as needed in future Jumpstart 1.x to 2.x website upgrades and new websites.

    I’ve built several custom post type plugins before and have programming experience.

    It looks fairly straightforward to base this on your Portfolio plugin (v1.1.3). I’ve looked through the code extensively, but I have several questions (hope this doesn’t seem too dumb):

    1) It looks like I can copy ThemeBlvd theme and layout builder integration code from tb-portfolios.php…CAREFULLY changing ‘portfolio’ and ‘portfolios’ ids, tag-ids, labels and variables to my ids, tag-ids, labels, variables….plus adding custom-field and adding/removing other supports. I plan to precede my ids/tag ids with “mytag_cpt_XXXXXXX’.

    Are there any gotcha’s to doing this strategy?

    2) Change ‘themeblvd_’ references in class/function names to ‘my_name_’ etc.?

    3) On line 129 of tb-portfolios.php, you apprear to be registering taxonomies ‘tb_portfolio’ and ‘tb_portfolio_tag’ for the ‘portfolio_item’ post_type. Elsewhere (lines 158, 182, 185, 186) the taxonomies seem to be ‘portfolio’ and ‘portfolio_tag’…am I missing/mis-understanding how the ‘tb_*’ taxonomy tags were used?

    4) The following filters are added in Portfolio Plugin:

    • line 206 add_filter( ‘themeblvd_portfolio_module_options’, array( $this, ‘portfolio_module_options’ ) );
    • line 211 add_filter( ‘themeblvd_portfolio_module_args’, array( $this, ‘query_args’ ), 9, 2 );)

    How are these used in the theme or Layout Builder used? in a way that I have to worry about–if I just copy these lines? Can I use these hook_names in my derived CPT plugins as is – or will they collided with Portfolios (if using Portfolios and my CPTs on same page), or just break something? If changed, do they need to be assigned a different priority than for Portfolio?

    5) The following filter is applied:

    • line 341 return apply_filters( ‘themeblvd_portfolios_builder_items’, $items );

    I don’t see where this filter was added, so I’m just assuming it’s assigning the template parts for portfolios? Can I just use as is? Also, modify get_builder_items function, if needed?

    6) Is there a list of themeblvd filters documented somewhere? code for where?

    7) Re-assign default archive template part in line 940 from ‘grid’ to ‘list’?

    8) Anything else to be aware of?

    I’m hoping that my assumption that I can add additional integrated CPTs into Jumpstart and Layout Builder seems as straightforward as it is.

    Thanks in advance.

    P.S. Links on this page are broken:

Viewing 3 replies - 1 through 3 (of 3 total)
  • Author
  • #24866
    Jason Bobich


    1. This should work mostly, I would think. If you search the theme framework for “portfolio” you will see that there’s some minor things in the theme framework that work with the portfolios plugin, that are not apart of the plugin. Looking now, it seems to be mostly things related to custom sidebars (at Appearance > Widget Areas) and individual archive options.

    2. Yup, of course.

    3. This looks like a mistake in the plugin — On line 129, it should be portfolio and portfolio_tag.

    4. This doesn’t correspond to Jump Start. In another theme, Arcadian, there is a Portfolio Module element added that it filters into.

    5. Nothing in Jump Start currently adds anything to that filter. It’s just there in case anyone wants to filter that array from their own child theme or plugin. If you had the portfolios plugin installed, and you didn’t want it to effect all of those builder elements, you could theoretically use that to filter out the elements you don’t want integrate into the layout builder.

    6. No sorry there’s no documentation for this. The best documentation is just doing exactly what you’re doing and looking at how it all works, first hand. 🙂

    7. I believe that’s all there is to it, yeah.

    8. I guess I just want reiterate #1. For a good idea of what you won’t get by simply copying the portfolios plugin, search the Jump Start parent theme directory with your text editor for the term “portfolio” — and you can see anywhere stuff is done right in the theme, opposed to relying on the portfolios plugin, itself.


    Thanks for the quick response. (I would have gotten back again sooner, but I am reviewing materials today for Angela’s JumpStart theme class starting tomorrow – I’m assisting.)

    Advisable to correct issue from question #3 in my copy of Portfolio plugin until you post an update?

    Still learning my way around JumpStart 2, regarding #8 any files or folders to point me to in the theme?

    Much thanks again,

    Jason Bobich

    Advisable to correct issue from question #3 in my copy of Portfolio plugin until you post an update?

    Honestly, since the taxonomies are associated to the post type from register_taxonomy(), I don’t think it makes any kind of actual tangible difference whether you change this or not. But for the sake of formality, is why I’ll have it fixed in the next update.

    Still learning my way around JumpStart 2, regarding #8 any files or folders to point me to in the theme?

    Just do a search for term “portfolio” in your text editor and look at any instances in .php files and decided if those are relevant to what you’re doing.

Viewing 3 replies - 1 through 3 (of 3 total)
  • You must be logged in to reply to this topic.