Plans & Pricing

Choose any plan which suits your needs and budget. You may upgrade or downgrade any plan at any time. When upgrading plans you’ll receive a partial-month refund. When downgrading plans you’ll maintain your current plan until the end of the billing period, and begin the downgraded plan at the start of the next billing period.

Choose A Plan

Basic

Registered

One User

Premium

Subscription

One User

Professional

Subscription

One User

Enterprise

Subscription

2-18 Users

Basic

Registered

One User

Premium

Subscription

One User

Professional

Subscription

One User

Enterprise

Subscription

2-18 Users

<?php

// Creating Shortcodes to display posts from category
function tecture_cpt_list($attr, $showcontent = null) {
    global $post;
    // Defining Shortcode's Attributes
    $shortcode_args = shortcode_atts(
                        array(
                                'cat'     	=> '',
                                'category' 	=> '',
                                'num'     	=> '24',
                                'content'	=> 'false',
                                'excerpt'	=> 'false',
                                'link_source' => '',
                                'num_cols'	=> 1,
                                'showthumb' => 'true',
                                'typez' => get_post_types(),
                                'showcatz' => 'false',
                                'showauth' => 'false',
                                'offset'    => 0,
                                'order'  	=> 'asc'
                        ), $attr);
     $showthumb = $shortcode_args['showthumb'];
     $showauth = $shortcode_args['showauth'];
     $showcatz = $shortcode_args['showcatz'];
     $num_cols = $shortcode_args['num_cols'];
     $showtop = $shortcode_args['showtop'];
     $link_source = $shortcode_args['link_source']; // should be slug of custom field
     $content = $shortcode_args['content'];
     $excerpt = $shortcode_args['excerpt'];
     $post_types = $shortcode_args['typez'];
    // array with query arguments
    $args = array(
			'category_name'    => $shortcode_args['cat'],
			'posts_per_page'   => $shortcode_args['num'],
			'offset'		   => $shortcode_args['offset'],
			'content'		   => $shortcode_args['content'],
			'excerpt'		   => $shortcode_args['excerpt'],
			'showtop'		   => $shortcode_args['showtop'],
			'columns'		   => $shortcode_args['num_cols'],
			'post_type' 	   => $shortcode_args['typez'],
			'orderby'		   => 'date',
			'order'            => $shortcode_args['order'],
		 );
    $cat_posts = get_posts($args);
    if ($num_cols == 2) : $col_class = ' col-md-6'; endif;
    if ($num_cols == 3) : $col_class = ' col-md-4'; endif;
    if ($num_cols == 4) : $col_class = ' col-md-3'; endif;
    if ($num_cols == 10) : $col_class = ' col-md-1'; endif;
	
    $output = '<div class="category-posts">';
    foreach ($cat_posts as $post) :
        setup_postdata($post);
        $output .= '<div class="cpt-postcard' . $col_class . '">';
        $link_href = get_post_meta( get_the_ID(), $link_source, true );
        if( $link_href == '') { $link_href = get_the_permalink(); }
        if ( $showthumb == 'true' ) {
        	$featured_img_url = get_the_post_thumbnail_url($post->ID,'full');
    		$output .= '<div class="feat-image"><a class="headimg" href="' . $link_href .'" target="_self"><img src="' .  $featured_img_url .  '" alt="' . get_the_title() . '" /></a></div>';
		}
		$output .= '<div class="cat-content"><h4 class="post-title"><a href="' . get_the_permalink() .'" rel="bookmark">' . get_the_title() .'</a></h4>';
		if ( $showcatz == 'true' ) {        
			$categories = get_the_category();
			$separator = ' ';
			if ( ! empty( $categories ) ) {
				$output .= '<div class="psacp-post-cats">';
				foreach( $categories as $category ) {
					switch ($showtop) {
						case 'hide':
							if ($category->category_parent  != 0) {
								$output .= '<a class="children" href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( 'View all posts in %s', 'textdomain' ), $category->name ) ) . '">' . esc_html( $category->name ) . '</a>' . $separator;
							}
						break;
						case 'toponly':
							if ($category->category_parent == 0) {
								$output .= '<a class="toponly" href="' . esc_url( get_category_link( $category->term_id ) ) . '" title="' . esc_attr( sprintf( __( 'View all posts in %s', 'textdomain' ), $category->name ) ) . '">' . esc_html( $category->name ) . '</a>' . $separator;
							}
						break;
						case 'show':
						if($category->name !== 'Uncategorized') {
							$output .= '<a class="showtop" href="' . esc_url( get_category_link( $category->term_id ) ) . '" alt="' . esc_attr( sprintf( __( 'View all posts in %s', 'textdomain' ), $category->name ) ) . '">' . esc_html( $category->name ) . '</a>' . $separator;
							}	
						break;
						}
				}
				$output .= '</div>';
			}
		}
		if ( $showauth == 'true' ) {
        	$authorname = get_the_author_meta( 'display_name' );
			$authorlink = esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) );
			$output .= '<div class="psacp-post-meta"><a href="' . $authorlink . '"><i class="fa fa-user"></i> ' . $authorname . '</a></div>';
		}
        if ( $excerpt == 'true' ) {
        	$tecture_excerpt = the_excerpt_max_charlength(25);
			$output .= '<p>' . $tecture_excerpt . '</p>';
		}
        if ( $content == 'true' ) {
			$output .= '<p>' . get_the_excerpt() . '</p>';
		}
		$output .= '</div><div style="clear: both;"></div></div>';
	
    endforeach;    
    wp_reset_postdata();
    $output .= '</div>';
    return $output;
}
 
add_shortcode( 'tecture_cpt_postlist', 'tecture_cpt_list' );

function test_shortcodes()
{
    return 'Shortcodes are working!';
}
add_shortcode('test_shortcodes', 'test_shortcodes');
<?php

function add_bootstrap() {
wp_enqueue_style( 'bootstrap-css', 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css' );
wp_enqueue_script( 'bootstrap-js', 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js', array('jquery'), null, true );
}
add_action( 'wp_enqueue_scripts', 'add_bootstrap' );
<?php









<?php

// @ https://wp-mix.com/set-attachment-featured-image/
add_filter('the_content', 'set_featured_image_from_attachment');
function set_featured_image_from_attachment($content) {
	global $post;
	if(is_single()) {
	if (has_post_thumbnail()) {
		// display the featured image
		$content = the_post_thumbnail() . $content;
	} else {
		// get & set the featured image
		$attachments = get_children(array(
			'post_parent' => $post->ID, 
			'post_status' => 'inherit', 
			'post_type' => 'attachment', 
			'post_mime_type' => 'image', 
			'order' => 'ASC', 
			'orderby' => 'menu_order'
		));
		if ($attachments) {
			foreach ($attachments as $attachment) {
				set_post_thumbnail($post->ID, $attachment->ID);
				break;
			}
			// display the featured image
			$content = the_post_thumbnail() . $content;
		}
		}
	}
	return $content;
}
Payments

We accept most major credit cards, including: Visa, MasterCard, American Express, Discover, Diners Club and JCB. Our payments are processed through our partner Stripe Checkout, and you will receive a full invoice for every order.

Shopping Cart
Account Level: Public
IP: 216.73.216.226 Session Status: 2
Session id: gks66607bdshvbacpdibh33g18 start time: elapsed: rate: | /second count: remaining:
Scroll to Top