Created
November 8, 2019 14:24
-
-
Save dylanjameswagner/19e82c0a843d1d3e5a867b0aad1f34f4 to your computer and use it in GitHub Desktop.
This creates a .vcf file from the post types. Create a VCard For Brokers (this was first built for Mericle)
Return the last segment of the URI This feature works by creating/modifying a vcf file when a broker post type is saved. the template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Create a VCard For Brokers (this was first built for Mericle) | |
| * Return the last segment of the URI | |
| * | |
| * | |
| * This feature works by creating/modifying a vcf file when a broker post type is saved. the template then points to that saved file. | |
| * File will not create if you don't Save/Update the post type. | |
| * | |
| * @TODO To complete this, you need to create a '/vcard' folder in your template directory. | |
| * | |
| * Also - add the following code to link where it lives: | |
| * | |
| * | |
| * | |
| * <?php | |
| * $vcfname = $post->post_name; | |
| * $uploadfile = wp_get_upload_dir(); | |
| * $uploadfile = $uploadfile["basedir"]."/vcard/"; | |
| * ?> | |
| * <a href="<?php echo $uploadfile ?><?php echo $vcfname; ?>.vcf" download><i * class="team-hero__social-link--vcard"></i> Download Vcard</a> | |
| */ | |
| function create_vCard( $post_id ) { | |
| $post_type = get_post_type($post_id); | |
| // Should only action if 'brokers' post type is saved | |
| if ( "brokers" != $post_type ) return; | |
| $id = get_the_ID(); | |
| $thumbnailid = get_post_thumbnail_id($post_id, 'medium'); | |
| $img = ( get_attached_file( $thumbnailid ) ); | |
| $img = file_get_contents($img); | |
| $imgencode = base64_encode( $img ); | |
| $vpost = get_post($post->ID); | |
| $filename = $vpost->post_name.".vcf"; | |
| header('Content-type: text/x-vcard; charset=utf-8'); | |
| header("Content-Disposition: attachment; filename=".$filename); | |
| $data=null; | |
| $data.="BEGIN:VCARD\n"; | |
| $data.="VERSION:3.0\n"; | |
| $data.="FN:".$post->post_title."\n"; | |
| $data.="TITLE:" .get_field('position',$id)."\n"; | |
| $data.="ORG:Mericle Commercial Real Estate Group\n"; | |
| $data.="EMAIL;PREF;INTERNET:" .get_field('email',$id)."\n"; | |
| $data.="TEL;WORK;VOICE:" .get_field('phone',$id)."\n"; | |
| $data.="TEL;CELL;VOICE:" .get_field('cellphone',$id)."\n"; | |
| $data.="TEL;WORK;FAX:" .get_field('faxnumber',$id)."\n"; | |
| $data.="ADR;WORK;PREF:".get_field('address',$id)."\n"; | |
| $data.="URL;WORK:www.mericle.com"."\n"; | |
| $data.="EMAIL;PREF;INTERNET:" .get_field('email',$id)."\n"; | |
| $data.="PHOTO;TYPE=JPEG;ENCODING=BASE64:".$imgencode."\n\n\n"; | |
| $data.='X-MS-OL-DESIGN;CHARSET=utf-8:<card xmlns="http://schemas.microsoft.com/office/outlook/12/electronicbusinesscards" ver="1.0" layout="left" bgcolor="ffffff"><img xmlns="" align="tleft" area="32" use="photo"/><fld xmlns="" prop="name" align="left" dir="ltr" style="b" color="000000" size="10"/><fld xmlns="" prop="org" align="left" dir="ltr" color="000000" size="8"/><fld xmlns="" prop="title" align="left" dir="ltr" color="000000" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="telwork" align="left" dir="ltr" color="000000" size="8"><label align="right" color="626262">Work</label></fld><fld xmlns="" prop="email" align="left" dir="ltr" color="000000" size="8"/><fld xmlns="" prop="addrwork" align="left" dir="ltr" color="000000" size="8"/><fld xmlns="" prop="webwork" align="left" dir="ltr" color="000000" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/><fld xmlns="" prop="blank" size="8"/></card>'; | |
| $data.="END:VCARD"; | |
| $filePath = wp_upload_dir()["basedir"].'/vcard/'.$filename; | |
| $file = fopen($filePath,"w"); | |
| fwrite($file,$data); | |
| fclose($file); | |
| } | |
| add_action( 'save_post', 'create_vCard' ); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| $vcfname = $post->post_name; | |
| $uploadfile = wp_get_upload_dir(); | |
| $uploadfile = $uploadfile["basedir"]."/vcard/"; | |
| ?> | |
| <a href="<?php echo $uploadfile ?><?php echo $vcfname; ?>.vcf" download><i class="team-hero__social-link--vcard"></i> Download Vcard</a> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment