Skip to:
Content
Pages
Categories
Search
Top
Bottom

Change the order of the date of the profile buddypress2.0.1

  • @nanopass

    Participant

    How are we going to change the order of the date of the profile of the buddypress?

Viewing 5 replies - 1 through 5 (of 5 total)
  • @danbp

    Participant

    If you’re talking about the extended xprofile datebox field, the builder class BP_XProfile_Field_Type_Datebox of the xprofile datebox field is in bp-xprofiles-class.php:1459(bp 2.0.1)

    You can overwite this class with your own for reflecting your needs. The technique (add your own class to…) to use is explained on the Codex

    If you’re meaning another date, you have to be more precise !

    You’ll find also a global date setting in your wordpress admin.

    @nanopass

    Participant

    Hi danbp
    It Seems to me the answer to my question
    But, the problem is not resolved.
    I am very troubled!

    plugins/buddypress/bp-xprofile/bp-xprofiles-class.php(bp-xprofile-classes.php):1459

    
    	/**
    	 * Constructor for the datebox field type
    	 *
    	 * @since BuddyPress (2.0.0)
     	 */
    	public function __construct() {
    		parent::__construct();
    
    		$this->category = _x( 'Single Fields', 'xprofile field type category', 'buddypress' );
    		$this->name     = _x( 'Date Selector', 'xprofile field type', 'buddypress' );
    
    		$this->set_format( '/^\d{4}-\d{1,2}-\d{1,2} 00:00:00$/', 'replace' );  // "Y-m-d 00:00:00"
    		do_action( 'bp_xprofile_field_type_datebox', $this );
    	}
    
    	/**
    	 * Output the edit field HTML for this field type.
    	 *
    	 * Must be used inside the {@link bp_profile_fields()} template loop.
    	 *
    	 * @param array $raw_properties Optional key/value array of {@link http://dev.w3.org/html5/markup/input.html permitted attributes} that you want to add.
    	 * @since BuddyPress (2.0.0)
    	 */
    	public function edit_field_html( array $raw_properties = array() ) {
    		$user_id = bp_displayed_user_id();
    
    		// user_id is a special optional parameter that we pass to {@link bp_the_profile_field_options()}.
    		if ( isset( $raw_properties['user_id'] ) ) {
    			$user_id = (int) $raw_properties['user_id'];
    			unset( $raw_properties['user_id'] );
    		}
    
    		$year_html = $this->get_edit_field_html_elements( array_merge(
    			array(
    				'id'   => bp_get_the_profile_field_input_name() . '_year',
    				'name' => bp_get_the_profile_field_input_name() . '_year',
    			),
    			$raw_properties
    		) );
    
    		$month_html = $this->get_edit_field_html_elements( array_merge(
    			array(
    				'id'   => bp_get_the_profile_field_input_name() . '_month',
    				'name' => bp_get_the_profile_field_input_name() . '_month',
    			),
    			$raw_properties
    		) );
    

    Please tell me Where Do I change specifically.

    @danbp

    Participant

    $this->set_format( ‘/^\d{4}-\d{1,2}-\d{1,2} 00:00:00$/’, ‘replace’ ); // “Y-m-d 00:00:00”
    or for a general usage
    The date format is setable in wordpress admin for the whole site, including BP.
    Dashboard > General (/wp-admin/options-general.php)

    But you prefer perhaps to explain more precisely what YOU want to achieve instead of answering my stupid questions ? 😉

    So, again:
    Which date do you mean on profile ? There is no date on a profile ! Only a field type called date(box) in the xprofile admin, which let’s you add a birthdate or something like this on profiles.

    @nanopass

    Participant

    Sorry, it was my lack of explanation.
    I created an item of birth date the setting of Profile Fields

    standard display of birthdate has become a DD-MM-YY.
    I want to change to YY-MM-DD this

    @danbp

    Participant

    standard display of birthdate has become a DD-MM-YY.
    This is because you set it like this in wordpress !

    Add this snippet to your child theme functions.php or into bp-custom.php
    (tested with 2.0.1 and Twenty Thirteen)

    // modify the date (format) output on xprofile
    function nanopass_date_format_on_profile ($time) {
    	global $bp;
    	if ( bp_is_active( 'xprofile' ) || bp_is_profile_component() || bp_is_member()  ) {	
    		$time = current_time ('Y-m-d'); // date format - See https://codex.wordpress.org/Formatting_Date_and_Time
    	}
    	return $time;
    }
    add_action ( 'bp_format_time', 'nanopass_date_format_on_profile', 1 );

    Give feedback if it works for you.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Change the order of the date of the profile buddypress2.0.1’ is closed to new replies.
Skip to toolbar