346 posts Gambit
  • Bought between 100 and 499 items
  • Elite Author
  • Exclusive Author
  • Has been a member for 4-5 years
  • Philippines
  • Referred between 10 and 49 users
  • Repeatedly Helped protect Envato Marketplaces against copyright violations
  • Sold between 50 000 and 100 000 dollars
bfintal says

@Japh thanks for responding.

Okay so I think the best way to explain this is to show how this framework came to be. 2 or so years ago I made a theme, and I registered the portfolio post type in functions.php along with shortcodes and other stuff, which was kind of the normal thing to do back then. During this time I released a total of 5 themes then the support and updating became cumbersome since the codes were different. So after a while I tried grouping up the code into sections to make everything manageable, then after more and more coding it became apparent that the best way to go was to just have 2 parts: theme files and core (framework) files.

Now you might think that I should’ve just made the framework a plugin. But the way I did it is that the whole framework is essentially a plain blank theme (a theme framework) coupled with model structures, helper functions, etc. All the common functionality that exists in all the other themes are already in it. It has custom post types (portfolio), common admin panels (seo settings, language settings), etc. The theme files then can expand and override on this theme framework. Theme files have the styling and view files, and they put in additional admin panels and other stuff, they can also override php classes and other functionality that the framework implements.

Think of it as a 2-layered theme (similar to child themes) where the 2 layers are both themes, but the top-most layer can override anything, and the bottom-most layer contains the bulk of the code plus APIs. It’s not a theme and a child-theme pair, since everything is presented as a single theme, plus it has the mvc pattern among other things. This is why I can’t wrap it all up in a plugin. :(

Also, when I said that it’s well segregated, I meant within the confines of the framework. For example, I have a portfolio controller, a portfolio model, helper functions, single-portfolio view, settings that define portfolio admin options, etc. Code is well segregated, everything is logically placed in its location by their function.

But of course all of those being said, if you think about it now (now that the draft phase 2 requirements has been released) the whole thing could have be written into a plugin in the first place. But I don’t think that’s ideal now since it’s working great for a while now, my buyers have been using it when I updated my old themes to this. And if this phase 2 didn’t exist, then nobody would have problems with my framework’s current setup. It works, it’s fast, it’s flexible, easily maintainable, etc.. and phase 1 can be implemented fully without any questions. This doesn’t mean I’m lazy, but it would take a lot of rewrites and yet another round of major updates to the themes, even though there’s no real problem with it.

Obviously if I knew about phase 2 back then, then my thought process of how the framework was going to be built would have been different and I may have ended up with a plugin instead of a theme framework that can be built on top of.

I hope that’s clear :/

ShakespeareThemes
ShakespeareThemes Recent Posts Threads Started
32 posts
  • Sold between 10 000 and 50 000 dollars
  • Europe
  • Has been a member for 1-2 years
  • Bought between 1 and 9 items
  • Referred between 10 and 49 users
  • Exclusive Author
ShakespeareThemes says

@Japh you should talk to your reviewers as my latest item was soft-rejected today because of integrating ACF and OptionTree which should be ok even with the new requirements as long as I know! Theme was accepted afterwards, when I responded that even you said that such plugins can be part of the theme. But it was accepted by another reviewer, not the one who soft rejected it. It is really weird.

346 posts Gambit
  • Bought between 100 and 499 items
  • Elite Author
  • Exclusive Author
  • Has been a member for 4-5 years
  • Philippines
  • Referred between 10 and 49 users
  • Repeatedly Helped protect Envato Marketplaces against copyright violations
  • Sold between 50 000 and 100 000 dollars
bfintal says

That reminds me, my item was soft rejected because it has a bundled plugin (revolution slider) and i was asked to implement TGM for this. I thought phase 1 was for sept 9?

ShakespeareThemes
ShakespeareThemes Recent Posts Threads Started
32 posts
  • Sold between 10 000 and 50 000 dollars
  • Europe
  • Has been a member for 1-2 years
  • Bought between 1 and 9 items
  • Referred between 10 and 49 users
  • Exclusive Author
ShakespeareThemes says

This “additional functionality to plugins” is part of Phase 2 anyway, but integrating ACF/OptionTree and RevSlider to the theme is quite different. I agree that RevSlider should not be part of the theme.

But my point is that there is a bit of inconsistency between what Japh is sayin in this thread and how reviewers review our items.

1024 posts Best-dressed man at PressNomics 2013
  • Attended a Community Meetup
  • Author had a File in an Envato Bundle
  • Bought between 1 and 9 items
  • Contributed a Tutorial to a Tuts+ Site
  • Exclusive Author
  • Has attended an Envato Live event
  • Has been a member for 5-6 years
+5 more
Parallelus says


Please do post back and give your opinion of the differences. I have serious concerns over customers being frustrated by having to keep up with extra steps in the install, plugins to manage and other customer experience issues. Those are my major concerns with the phase 2 requirements and would be very interested in hearing from customer that are in favor of these changes and what they think after using themes that are implementing these modifications. If my customers were the ones demanding these things I probably would have gone this direction ages ago. It just seems to me that my customers are asking for something else so I’ve been following their direction.
When using the TGM Plugin Activation its a piece of cake for buyers, they get a little notice on theme activation > click install > activate the plugins > and you’re done, takes 30 secs — 99.999% of my buyers don’t have any issues with the process. Pretty much all my themes are already phase II compliant its really not that big deal.

Yes, I’m completely aware of that plugin and I’m already using it as well as an improved variation for my framework. It’s not perfect and just the two plugins it integrates for my current themes have already increased my support, mostly because of problems with the install or confusion from the user. Please everyone here stop saying that by using TGM it’s going to magically make plugin integration a non-issue. We all know that’s not true.

87 posts
  • Exclusive Author
  • Bought between 10 and 49 items
  • Has been a member for 2-3 years
  • Sold between 10 000 and 50 000 dollars
AccuraThemes says
my question is about Vcard WP… for my case i don’t have Blog page / there is no side bar / how do i go about this ? .. see my Vcard. only 4 pages or any other Vcard . http://themeforest.net/item/squares-html5-vcardportfolio-template/548299WT.ac=category_thumb&WT.seg_1=category_thumb&WT.z_author=JoelBesada
1.From the Theme Check plugin: REQUIRED ..

1. post_class() 2.body_class() – (inside or tags) 3.wp_link_pages 4. register_sidebar() or register_sidebars()

From the WP Requirement point

6.WordPress core features need to be incorporated:
Automatic Feed Links Post Thumbnails Comments comments_template() wp_list_comments() – optional comment_form() wp_enqueue_script(‘comment-reply’)
7.$content_width is used to assign a maximum width for media and is mandatory. 10.Default WordPress CSS classes must be covered in the stylesheet, since this is expected native behavior.

WordPress Features
3.Themes are required to provide child theme support.
4.wp_nav_menu() must be included in at least one theme location for easy menu management.
5.All of WordPress’ default widgets should be styled/display properly in all widgetized areas.
6.index.php should be reserved for standard blog “latest posts” view.

168 posts
  • Europe
  • Exclusive Author
  • Has been a member for 1-2 years
  • Sold between 10 000 and 50 000 dollars
subsolar says

Yeah, I’ve always wondered about these themes without blog and the requirement about the Theme Unit Test file passing. For themes without blogs it is exception I guess?

491 posts
  • Elite Author
  • Sold between 250 000 and 1 000 000 dollars
  • Won a Competition
  • Referred between 1000 and 1999 users
  • Author had a Free File of the Month
  • Author had a File in an Envato Bundle
  • Bought between 10 and 49 items
+3 more
pixelentity says

Yeah, I’ve always wondered about these themes without blog and the requirement about the Theme Unit Test file passing. For themes without blogs it is exception I guess?
Were themes without blog even approved in the past ? when asking in the forum i was told it was mandatory even for one pages/vcard conversions.
103 posts
  • Sold between 10 000 and 50 000 dollars
  • Exclusive Author
  • Referred between 1 and 9 users
  • Bought between 50 and 99 items
  • Has been a member for 3-4 years
  • Philippines
dunhakdis says

I’m happy with the new standards.

127 posts
  • Elite Author
  • Sold between 250 000 and 1 000 000 dollars
  • Exclusive Author
  • Referred between 50 and 99 users
  • Bought between 1 and 9 items
  • Has been a member for 1-2 years
Cubell says

@Japh can you please clarify one other thing for me. WordPress Core API #4 “If incorporated into the theme, custom template ?les are required to be called using get_template_part() or locate_template()”

I use include(locate_template(‘x’)); to get modules set by my page builder, as the module files inherit the variable scope, which I 100% need to make it all work. Is this okay?

by
by
by
by
by
by