Skip to:
Content
Pages
Categories
Search
Top
Bottom

[Resolved] Custom-fields in Activity-content, error with function

  • Avatar of ggsalas
    ggsalas
    Participant

    @ggsalas

    Hi, i need add custom-fields to activity-content.

    I can’t do this. In this example I show that the text “this yes” appears in activity and “test1″ function not appears. This function is what I need to show my custom fields.

    Thanks

    function test1(){
    	echo 'this not';	
    	}
    
    function record_post_activity_content($activity_content, $post, $post_permalink ){
        if( $post->post_type == 'post' ) {
        	$not = test1();
    		$activity_content = $not.'this yes';
        }
            return $activity_content;
    }
    add_filter( 'bp_blogs_activity_new_post_content', 'record_post_activity_content',1, 3 );
Viewing 7 replies - 1 through 7 (of 7 total)
  • Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    Try this:

    function test1() {
        return 'this not';
    }
    Avatar of ggsalas
    ggsalas
    Participant

    @ggsalas

    @boonebgorges YES it works!!!

    But when I tried to show a custom-field stops working. This is my example code:

    function test1(){
    	global $post;
    	$test_customfield = get_post_meta($post->ID, 'txt_documento', true);		
    	return $test_customfield;	
    	}
    
    function record_post_activity_content($activity_content, $post, $post_permalink ){
        if( $post->post_type == 'post' ) {
        	$not = test1();
    		$activity_content = $not.'this yes';
        }
            return $activity_content;
    }
    add_filter( 'bp_blogs_activity_new_post_content', 'record_post_activity_content',1, 3 );

    Thanks!

    Avatar of Boone Gorges
    Boone Gorges
    Keymaster

    @boonebgorges

    You’ll have to do some more debugging. It’s probably the case that $test_customfield is empty; try var_dump( $test_customfield ); just after you’ve defined the variable, just to be sure. It’s also possible that the $post global does not contain the information that you want at this particular point in the WP load order. Try passing the $post object to your test function:

    function test1( $the_post ) {
        $post_id = $the_post->ID;
        // ...
    }
    
    // ...
    $not = test1( $post );
    // ...
    Avatar of ggsalas
    ggsalas
    Participant

    @ggsalas

    @boonebgorges,

    With this code I have NO results:

    function test1(){
    	global $post;
    	$test_customfield = get_post_meta($post->ID, 'txt_documento', true);		
    	return $test_customfield;
    	}
    	
    //function test1( $the_post ) {
    //    $post_id = $the_post->ID;
    //}
    
    function record_post_activity_content($activity_content, $post, $post_permalink ){
        if( $post->post_type == 'post' ) {
        	$not = var_dump( $test_customfield );
    		$activity_content = $not.'this yes';
        }
            return $activity_content;
    }
    add_filter( 'bp_blogs_activity_new_post_content', 'record_post_activity_content',1, 3 );

    But I’ve tested this another code and the result is “NULL”:

    add_action( 'genesis_post_content', 'custom_field_in_content' );
    function custom_field_in_content() {
    if ( in_category('documentos') ) {
    	$ay = var_dump( $test_customfield );
    	echo $ay;
    	}else {
    	}	
    }

    I cant find the problem. Thanks for all your support

    Avatar of ggsalas
    ggsalas
    Participant

    @ggsalas

    Hi, I simplify the code and get same result: the text “this yes” appears, and the custom-field not.

    add_filter( 'bp_blogs_activity_new_post_content', 'record_post_activity_content' );
    function record_post_activity_content(){
          return get_post_meta($post->ID, 'txt_link', true).'this yes';
    }	
    Avatar of ggsalas
    ggsalas
    Participant

    @ggsalas

    I think the problem is that i can’t get the post id. I tried with this code and it works:
    return get_post_meta(577, 'txt_link', true).'This1';

    I tried in many ways but I cant get the post-id to work with bp_blogs_activity_new_post_content filter

    Avatar of ggsalas
    ggsalas
    Participant

    @ggsalas

    I know the problem: is the WPUF plugin. Now, the developer send me the solution:

    function wpufe_modify_bp_activity( $post_id ) {
        global $wpdb, $user_ID;
     
        //get the last inserted activity
        $activity = $wpdb->get_row( "SELECT * FROM {$wpdb->prefix}bp_activity WHERE secondary_item_id = $post_id AND user_id = $user_ID");
     
        // if activity found, update the activity with custom field
        if ( $activity ) {
            $content = $activity->content . '... Custom Field: ' . get_post_meta( $post_id, 'custom_field', true );
     
            $wpdb->update(
                $wpdb->prefix . 'bp_activity',
                array( 'content' => $content ),
                array( 'id' => $activity->id )
            );
        }
    }
     
    add_action( 'wpuf_add_post_after_insert', 'wpufe_modify_bp_activity' );

    http://wedevs.com/support/topic/custom-fields-in-budypress-activity-content/#post-5889

    Greetings

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

You must be logged in to reply to this topic.