bphippen
asked 10 years ago

This seems pretty necessary but I can’t find any documentation on how to load each users activity into their own profile. I think you guys do a fantastic job at it on your website (designwall.com) and I would love to emulate that ability.
 
Thanks for your help

5 Answers
bphippen
answered 10 years ago

Looks like I spoke too soon, it looks like you guys are releasing this ability in the next update. http://designwall.com/question/create-an-user-profile-page/
Any idea when that will be?

DominicStaff
answered 10 years ago

Hello Bphippen !
We Will discuss about this issue in the next version of the DW Q&A plugin.

Guru
replied 10 years ago

Thanx @bphippen for the question.

Dear @Dominic,

Could you possibly give a rough time frame, as to when the next release will be. As this is functionality many of us looking for. So the sooner the better.

DominicStaff
answered 10 years ago

Hi guys, 
We will add the profile page feature for the plugin and release it in version 1.2 around beginning of Mar. 
 

Kausa Mortiz
replied 10 years ago

That would be great!!!

Xavier de Ponk
answered 10 years ago

Tried to post a reply to one of the answers but not working on the iPad.
Anyway, I would love this feature too as it’s really important to keep the general public away from the back end of WP at all times! 😉 
The user experience on your own site in terms of registering and logging in would be great too.
But, I feel these features (and others) should be sold as a premium version, and I would have no hesitation buying it.
 

DominicStaff
answered 10 years ago

Hello Xavier ! Thank for your feedback. We will discuss about this issue in the next version.

Josiah Wallingford
answered 10 years ago

I have been using a plugin called “User Profiles Made Easy”. Any chance for integration with this? If not can we use a shortcode (or does one exist) to display a users questions and answers on the same page?
http://codecanyon.net/item/user-profiles-made-easy-wordpress-plugin/4109874?ref=ThemeFluent

DominicStaff
answered 10 years ago

Currently, Our DW Q&A plugin does not yet support to use the “User Profiles Made Easy” plugin. However, you can create a user profile as our designwall.com site.  You can install the buddypress plugin.
Step 1: Install BuddyPress plugin.
Step 2: Go to your theme folder (wp-content/themes/[theme-name]), and create a new folder, name it “buddypress”. Inside your new folder, create a new file: “bp-custom.php”
 
Step3: Now, open up the new file in notepad or any code editor, and copy/paste the following code:

<?php
if ( !function_exists('dwqa_plugin_init') ) {
  return;
}
/*-----------------------------------------------------------------------------------*/
/*  Setup Questions in BuddyPress User Profile
/*-----------------------------------------------------------------------------------*/
add_action( 'bp_setup_nav', 'dw_simplex_bp_nav_adder' );
function dw_simplex_bp_nav_adder() {
   bp_core_new_nav_item(
    array(
      'name' => __('Questions', 'dw-simplex'),
      'slug' => 'questions',
      'position' => 21,
      'show_for_displayed_user' => true,
      'screen_function' => 'questions_list',
      'item_css_id' => 'questions',
      'default_subnav_slug' => 'public'
    ));
}

function questions_list() {
  add_action( 'bp_template_content', 'profile_questions_loop' );
  bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/plugins' ) );
}

function profile_questions_loop() {
  global $dwqa_options;
  $submit_question_link = get_permalink( $dwqa_options['pages']['submit-question'] );

  $questions = get_posts(  array(
    'posts_per_page' => -1,
    'author'         => bp_displayed_user_id(),
    'post_type'      => 'dwqa-question'
  ));
  if( ! empty($questions) ) { ?>
    <div class="dw-question" id="archive-question">
    <?php foreach ($questions as $q) { ?>
    <article id="question-<?php echo $q->ID ?>" class="post-<?php echo $q->ID ?> dwqa-question type-dwqa-question status-publish hentry">
      <header class="entry-header">
          <a class="entry-title" href="<?php echo get_post_permalink($q->ID); ?>"><?php echo $q->post_title ?></a>
          <div class="entry-meta">
            <?php dwqa_question_print_status($q->ID); ?>
            <span><?php echo get_the_time( 'M d, Y, g:i a', $q->ID ); ?></span>
            <?php echo get_the_term_list( $q->ID, 'dwqa-question_category', '<span>Category: ', ', ', '</span>' ); ?>
            <?php echo get_the_term_list( $q->ID, 'dwqa-question_tag', '<span>Theme: ', ', ', '</span>' ); ?>                              
          </div>
    </article>
    <?php } ?>
    </div>
  <?php } else { ?>
  <div class="info" id="message">
    <?php if( get_current_user_id() == bp_displayed_user_id() ) : ?>
      Why don't you have question for us. <a href="<?php echo $submit_question_link ?>">Start asking</a>!
    <?php else : ?>
      <?php bp_displayed_user_fullname(); ?> has not asked any question.
    <?php endif; ?>
  </div>
  <?php }
}

/*-----------------------------------------------------------------------------------*/
/*  Record Activities
/*-----------------------------------------------------------------------------------*/
// Question
function dw_simplex_record_question_activity( $post_id ) {
  $post = get_post($post_id);
  if(($post->post_status != 'publish') || ($post->post_status != 'private'))
    return;

  $user_id = get_current_user_id();
  $post_permalink = get_permalink( $post_id );
  $post_title = get_the_title( $post_id );
  $activity_action = sprintf( __( '%s asked a new question: %s', 'dw-simplex' ), bp_core_get_userlink( $user_id ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>' );
  $content = $post->post_content;
  $hide_sitewide = ($post->post_status == 'private') ? true : false;

  bp_blogs_record_activity( array(
    'user_id' => $user_id,
    'action' => $activity_action,
    'content' => $content,
    'primary_link' => $post_permalink,
    'type' => 'new_blog_post',
    'item_id' => 0,
    'secondary_item_id' => $post_id,
    'recorded_time' => $post->post_date_gmt,
    'hide_sitewide' => $hide_sitewide,
  ));
}
add_action( 'dwqa_add_question', 'dw_simplex_record_question_activity');

//Answer
function dw_simplex_record_answer_activity( $post_id ) {
  $post = get_post($post_id);

  if($post->post_status != 'publish')
    return;

  $user_id = $post->post_author;

  $question_id = get_post_meta( $post_id, '_question', true );
  $question = get_post( $question_id );

  $post_permalink = get_permalink($question_id);
  $activity_action = sprintf( __( '%s answered the question: %s', 'dw-simplex' ), bp_core_get_userlink( $user_id ), '<a href="' . $post_permalink . '">' . $question->post_title . '</a>' );
  $content = $post->post_content;

  $hide_sitewide = ($question->post_status == 'private') ? true : false;

  bp_blogs_record_activity( array(
    'user_id' => $user_id,
    'action' => $activity_action,
    'content' => $content,
    'primary_link' => $post_permalink,
    'type' => 'new_blog_post',
    'item_id' => 0,
    'secondary_item_id' => $post_id,
    'recorded_time' => $post->post_date_gmt,
    'hide_sitewide' => $hide_sitewide,
  ));
}
add_action( 'dwqa_add_answer', 'dw_simplex_record_answer_activity');
add_action( 'dwqa_update_answer', 'dw_simplex_record_answer_activity');

//Comment
function dw_simplex_record_comment_activity( $comment_id ) {
  $comment = get_comment($comment_id);
  $user_id = get_current_user_id();
  $post_id = $comment->comment_post_ID;
  $content = $comment->comment_content;

  if(get_post_type($post_id) == 'dwqa-question') {
    $post = get_post( $post_id );
    $post_permalink = get_permalink( $post_id );
    $activity_action = sprintf( __( '%s commented on the question: %s', 'dw-simplex' ), bp_core_get_userlink( $user_id ), '<a href="' . $post_permalink . '">' . $post->post_title . '</a>' );
    $hide_sitewide = ($post->post_status == 'private') ? true : false;
  } else {
    $post = get_post( $post_id );
    $question_id = get_post_meta( $post_id, '_question', true );
    $question = get_post( $question_id );
    $post_permalink = get_permalink( $question_id );
    $activity_action = sprintf( __( '%s commented on the answer at: %s', 'dw-simplex' ), bp_core_get_userlink( $user_id ), '<a href="' . $post_permalink . '">' . $question->post_title . '</a>' );
    $hide_sitewide = ($question->post_status == 'private') ? true : false;
  }

  bp_blogs_record_activity( array(
    'user_id' => $user_id,
    'action' => $activity_action,
    'content' => $content,
    'primary_link' => $post_permalink,
    'type' => 'new_blog_comment',
    'item_id' => 0,
    'secondary_item_id' => $comment_id,
    'recorded_time' => $comment->comment_date_gmt,
    'hide_sitewide' => $hide_sitewide,
  ));
}
add_action( 'dwqa_add_comment', 'dw_simplex_record_comment_activity');

 
Note: Please change ‘dw_simplex’ & ‘dw-simplex’ to your theme name Step 3: Open the function file of your theme (wp-content/themes/[theme-name]/functions.php), and add this code in (somewhere at top of the file):

include_once get_template_directory().'/buddypress/bp-custom.php';

Final step: Save the files and go to your profile page to see list of all questions on the new Questions tab. Please try and let us know the results!
Hope this helps !

Powered by DW Question & Answer Pro