Forum Replies Created

Viewing 3 replies - 1 through 3 (of 3 total)
  • eburnettw79

    (@eburnettw79)

    Admittedly, probably better much ways to handle but think this will get you started. Opening the theme files (there are alot) author post meta is defined by /includes/theme-actions.php and /includes/theme-functions.php – this would be a quick and dirty to replace author info and avatars making use of the canvas > filters form and modifying the defined author archive condition by replacing woo pluggable function for archive title. Also adds post type support for portfolio – authors (so coauthors can be assigned). Note: coauthors must be active – does not deprecate.

    Dump all of this in your canvas theme functions.php file (under where it says – You can add custom functions below):

    // Custom shortcode function for coauthors post links
    
    function coauthor_links_shortcode( ) {
    
        if ( function_exists( 'coauthors_posts_links' ) ) {
            $author = coauthors_posts_links( null, null, null, null, false );
        } else {
           $author = '[post_author_posts_link]';
        }
        return  $author;
    }
    
    add_shortcode('author_links','coauthor_links_shortcode');
    
    // Define woo_post_meta if not set in filter yet
    
    function woo_post_meta() {
    
    	if ( is_page() && !( is_page_template( 'template-blog.php' ) || is_page_template( 'template-magazine.php' ) ) ) {
    		return;
    	}
    
    	$post_info = '<span class="small">' . __( 'By', 'woothemes' ) . '</span> [author_links] <span class="small">' . _x( 'on', 'post datetime', 'woothemes' ) . '</span> [post_date] <span class="small">' . __( 'in', 'woothemes' ) . '</span> [post_categories before=""] ';
    printf( '<div class="post-meta">%s</div>' . "\n", apply_filters( 'woo_filter_post_meta', $post_info ) );
    
    } // End woo_post_meta()
    
    // Replace Single Post Author (in theme-actions.php) 
    
    function woo_author_box () {
    	global $post;
    	$author_id=$post->post_author;
    
    	// Adjust the arrow, if is_rtl().
    	$arrow = '→';
    	if ( is_rtl() ) $arrow = '←';
    
    ?>
    <?php foreach( get_coauthors() as $coauthor ): ?>
    <aside id="post-author">
    	<div class="profile-image"> <?php echo coauthors_get_avatar( $coauthor, '80', '', false ); ?></div>
    	<div class="profile-content">
    		<h4><?php echo 'About '.$coauthor->display_name ?></h4>
    		<?php echo $coauthor->description; ?>
    		<?php if ( is_singular() ) { ?>
    		<div class="profile-link">
    			<a href="<?php echo get_author_posts_url( $coauthor->ID, $coauthor->user_nicename ); ?>">
    				<?php echo ('View all posts by: ' . $coauthor->display_name . '<span class="meta-nav">' . $arrow . '</span>' ); ?>
    			</a>
    		</div><!--#profile-link-->
    		<?php } ?>
    	</div>
    	<div class="fix"></div>
    </aside>
    <?php endforeach;
    } // End woo_author_box()
    
    // Replace Archive Titles conditions
    
    function woo_archive_title ( $before = '', $after = '', $echo = true ) {
    
    	global $wp_query;
    
    	if ( is_category() || is_tag() || is_tax() ) {
    
    		$taxonomy_obj = $wp_query->get_queried_object();
    		$term_id = $taxonomy_obj->term_id;
    		$taxonomy_short_name = $taxonomy_obj->taxonomy;
    
    		$taxonomy_raw_obj = get_taxonomy( $taxonomy_short_name );
    
    	} // End IF Statement
    
    	$title = '';
    	$delimiter = ' | ';
    	$date_format = get_option( 'date_format' );
    
    	// Category Archive
    	if ( is_category() ) {
    
    		$title = '<span class="fl cat">' . __( 'Archive', 'woothemes' ) . $delimiter . single_cat_title( '', false ) . '</span> <span class="fr catrss">';
    		$cat_obj = $wp_query->get_queried_object();
    		$cat_id = $cat_obj->cat_ID;
    		$title .= '<a href="' . get_term_feed_link( $term_id, $taxonomy_short_name, '' ) . '" class="icon-rss icon-large" ></a></span>';
    
    		$has_title = true;
    	}
    
    	// Day Archive
    	if ( is_day() ) {
    
    		$title = __( 'Archive', 'woothemes' ) . $delimiter . get_the_time( $date_format );
    	}
    
    	// Month Archive
    	if ( is_month() ) {
    
    		$date_format = apply_filters( 'woo_archive_title_date_format', 'F, Y' );
    		$title = __( 'Archive', 'woothemes' ) . $delimiter . get_the_time( $date_format );
    	}
    
    	// Year Archive
    	if ( is_year() ) {
    
    		$date_format = apply_filters( 'woo_archive_title_date_format', 'Y' );
    		$title = __( 'Archive', 'woothemes' ) . $delimiter . get_the_time( $date_format );
    	}
    
    	// Author Archive
    	if ( is_author() ) {
    
    		$title = __( 'Author Archive', 'woothemes' ) . $delimiter . coauthors( null, null, null, null, true );
    	}
    
    	// Tag Archive
    	if ( is_tag() ) {
    
    		$title = __( 'Tag Archives', 'woothemes' ) . $delimiter . single_tag_title( '', false );
    	}
    
    	// Post Type Archive
    	if ( function_exists( 'is_post_type_archive' ) && is_post_type_archive() ) {
    
    		/* Get the post type object. */
    		$post_type_object = get_post_type_object( get_query_var( 'post_type' ) );
    
    		$title = $post_type_object->labels->name . ' ' . __( 'Archive', 'woothemes' );
    	}
    
    	// Post Format Archive
    	if ( get_query_var( 'taxonomy' ) == 'post_format' ) {
    
    		$post_format = str_replace( 'post-format-', '', get_query_var( 'post_format' ) );
    
    		$title = get_post_format_string( $post_format ) . ' ' . __( ' Archives', 'woothemes' );
    	}
    
    	// General Taxonomy Archive
    	if ( is_tax() ) {
    
    		$title = sprintf( __( '%1$s Archives: %2$s', 'woothemes' ), $taxonomy_raw_obj->labels->name, $taxonomy_obj->name );
    
    	}
    
    	if ( strlen($title) == 0 )
    	return;
    
    	$title = $before . $title . $after;
    
    	// Allow for external filters to manipulate the title value.
    	$title = apply_filters( 'woo_archive_title', $title, $before, $after );
    
    	if ( $echo )
    		echo $title;
    	else
    		return $title;
    
    } // End woo_archive_title()
    
    // Add Custom Post Type Support args
    
    add_action('init', 'custom_post_type_support');
    function custom_post_type_support() {
    	add_post_type_support( 'portfolio', array('publicize','author') );
    	/* add_post_type_support( 'product', array('publicize','author') ); -- if adding coauthor box to woocommerce */
    
    }

    Then go into Canvas > Filters and change for both Post Meta and Portfolios:

    [post_author_posts_link]

    to

    [author_links]

    gl

    eburnettw79

    (@eburnettw79)

    Problem: WooCommerce does not have post type support for products – easy fix — create an init function to add post type support for “author” and stick it in your functions.php file:

    add_action('init', 'my_custom_init');
    function my_custom_init() {
    	add_post_type_support( 'product', 'author' );
    }

    `

    Products will then show the coauthors box in the edit screen

    Codex – add post type support
    https://codex.wordpress.org/Function_Reference/add_post_type_support

    Just a note of caution: I don’t believe co authors plus plugin is optimized for custom post types (yet). While you can apply guest authors to custom post types, they don’t show up in the guest author menu (can’t make author post archives)

    I will try – WooThemes offers a Premium Theme called Superstore, it has a large search bar that is becomes visible once WooCommerce items are populated. When I activate the plug in, the search no longer works, and when I deactivate it – it works again. I haven’t looked much into it, may be with arguing custom post type and category – somewhere in there. I’m not sure if I would be implementing the plug in correctly, end of day I just need something a lot more efficient to sort out the media.

Viewing 3 replies - 1 through 3 (of 3 total)