
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.