You have a valid concern, but I wouldn’t call this a visual builder per se, especially when there are actual visual builders out there, such as Divi, Elementor, and the like. I use this program daily and have since late 2016, if my memory recalls. It’s grown a lot and one of the strengths is clean code. I use it as a visual reference, but it’s really not capable of being a visual builder, but more of a transpiler for me. I develop WordPress sites, and for those clients who can afford the “made from scratch” experience, and also when working as a subcontractor for other development agencies, I use Pinegrow because we see the benefit in having more control over a WordPress build.
For example, tagging inline PHP and knowing where in the code to make changes to a function, query, or custom code without having to dig through Underscores templates. I originally trained to build WordPress sites from scratch using Underscores, but it’s just too time-consuming now for someone like myself who subcontracts out only when needed, but does most of the work on incoming projects. I don’t have time to play with Underscores templates and modify everything, so I use Pinegrow to build in Bootstrap or Foundation, test that template, and the start the PHP injections. I use PHPStorm with Pinegrow and I’ve become accustomed to not having the live update like with Atom, and that’s okay, because clearly the developers are not seeing the benefit in making a plugin to connect PHPStorm, despite it’s direct support of WordPress and also that most major firms use it for PHP development (I hope they read this). Otherwise, this works like a charm.
Use Pinegrow as a transpiler and as a tool for DOM inspection and manipulation, that’s what it’s good at. As far as a visual builder? The developers of this just need to stop, we don’t need another Wix tool, and as a professional, I would consider dumping this product if they continue down that road. We need a good tool to act as a development framework, for both WordPress and non-WordPress projects, not another “I can’t code but can make great websites” product. That annoys me more than anything.
Here’s a code example… I’m not sure why people don’t want to post it, as it’s not a security breach unless we’re sharing things in functions.php or database configurations. This example is from a recently deployed project (https://josedelgado.realty) that uses an index.php page for the blog. It was a good start for this client and he wanted a “from the ground up” approach and we have many items that will be developed further by spring, to include enhanced styling, IDX integration, and some blog style and functionality updates.
get_header( 'front-page' ); ?>
<section class="delgado-blog" id="blogindex">
<div class="row">
<?php
$paged = ( get_query_var( 'paged') ) ? get_query_var( 'paged') : 1;
$allblogs_query_args = array(
'post_type' => 'post',
'posts_per_page' => '6',
'paged' => $paged,
'page' => '1',
'ignore_sticky_posts' => true,
'order' => 'DESC',
'orderby' => 'date'
)
?>
<?php $allblogs_query = new WP_Query( $allblogs_query_args ); ?>
<?php if ( $allblogs_query->have_posts() ) : ?>
<div class="container">
<?php while ( $allblogs_query->have_posts() ) : $allblogs_query->the_post(); ?>
<article id="mainBlog">
<div class="col-sm-4 postGridSpacing">
<a href="<?php echo esc_url( the_permalink() ); ?>"><h1 class="blogindex-header text-center"><?php the_title(); ?></h1></a>
<h5 class="blogindex-meta-date text-center"><?php echo get_the_time( 'F j, Y' ) ?></h5>
<a href="<?php echo esc_url( the_permalink() ); ?>"> <?php
if ( has_post_thumbnail() ) {
the_post_thumbnail( 'Blog Index', array(
'class' => 'blogindex-featured img-responsive'
) );
}
?> </a>
<h5 class="blogindex-meta-main text-center"><?php _e( 'Posted in', 'delgado' ); ?> <span class="metaindex-category"><?php the_category( ', ' ); ?></span></h5>
<p class="blog-index-excerpt text-center"><?php echo wp_trim_words(get_the_content(), 45, '...'); ?></p>
</div>
</article>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
</div>
<?php else : ?>
<p><?php _e( 'Sorry, no posts matched your criteria.', 'delgado' ); ?></p>
<?php endif; ?>
<div class="col-sm-12">
<div class="text-center">
<?php wp_bootstrap_pagination( array(
'custom_query' => $allblogs_query
) ); ?>
</div>
</div>
</div>
</section>
I hope this helps… and I hope that the developers are paying attention to the needs of the community. There’s a lack of PHP functionality and integration capabilities, and I’ve been screaming about this for a while, such as the lack of additional parameters for a query and the inclusion of the necessary $paged variable and parameters for pagination use. These are essential and not optional, and they’ve continued to leave them out, which forces you to go in and manually update that query every time you make another minor change. And custom PHP code inclusion is still in its infancy, because it’s very cumbersome to work with for complex coding and multiple inline PHP statements don’t stack properly, so you still have to do them by hand at times. Overall, it saves me a ton of time to use this versus going back to Underscores.