web bersama – jilid 2
Tulisan ini dibuat untuk mempermudah membuat web bersama
Perubahan
- dbcn-user name dimanage dari user profile
- iklan rotasi diambil dari user_meta
- iklan di masing-masing article diambil dari profile user_meta
1. dbcn-user name dari user profile
Yang akan di rubah adalah
- Penambahan field dbcn-user name di user profile
- Penambahan field dbcn-user name di registrasi menu
1.1 Penambahan field dbc-user name di user profile
kuncinya ada di function.php, file ini adalah berisi customize dari built-in wordpress menu. Yang akan dilakukan adalah
menghilangkan field YM, AIM dan menambahkan dbcn-username di bagian contact info
function new_contactmethods( $contactmethods ) {
$contactmethods['dbcn_id'] = ‘<b> dBCn User Name </b>’; // Add dbcn user name field
unset($contactmethods['yim']); // Remove Yahoo IM
unset($contactmethods['aim']); // Remove AIM
unset($contactmethods['jabber']); // Remove Jabber
return $contactmethods;
}
add_filter(‘user_contactmethods’,'new_contactmethods’,10,1);
coding add_filter(‘user_contactmethods’, akan diexecute oleh wordpress sehingga memanggil function new_contactmethods.
Menghilangkan biographical info dengan,
function remove_plain_bio($buffer) {
$titles = array(‘#<h3>About Yourself</h3>#’,'#<h3>About the user</h3>#’);
$buffer=preg_replace($titles,’<h3>Password</h3>’,$buffer,1);
$biotable=’#<h3>Password</h3>.+?<table.+?/tr>#s’;
$buffer=preg_replace($biotable,’<h3>Password</h3> <table>’,$buffer,1);
return $buffer;
}
function profile_admin_buffer_start() { ob_start(“remove_plain_bio”); }
function profile_admin_buffer_end() { ob_end_flush(); }
add_action(‘admin_head’, ‘profile_admin_buffer_start’);
add_action(‘admin_footer’, ‘profile_admin_buffer_end’);
1.2 dbcn-user name sebagai mandatory field waktu registrasi
add_action(‘register_form’,'show_first_name_field’);
add_action(‘register_post’,'check_fields’,10,3);
add_action(‘user_register’, ‘register_extra_fields’);
function show_first_name_field(){
?>
<p>
<label>dBCn User Name<br/>
<input id=”user_email” type=”text” class=”input” tabindex=”20″ size=”25″ value=”<?php echo $_POST['dbcn']; ?>” name=”dbcn”/>
</label>
</p>
<?php
}
function check_fields($login, $email, $errors) {
global $firstname, $lastname;
if ($_POST['dbcn'] == ”) {
$errors->add(‘empty_realname’, “<strong>ERROR</strong>: Please Enter dBCn User Name”);
} else {
$firstname = $_POST['dbcn'];
}
}
function register_extra_fields($user_id, $password=”", $meta=array()) {
$userdata = array();
$userdata['ID'] = $user_id;
wp_update_user($userdata);
update_usermeta( $user_id, ‘dbcn_id’, $_POST['dbcn'] );
}
2. Iklan rotasi user
$dbcn_id_cnt=$wpdb->get_var($wpdb->prepare(“SELECT COUNT(*) AS cnt FROM $wpdb->usermeta WHERE meta_key = ‘dbcn_id’”));
$dbcs = rand(0, $dbcn_id_cnt – 1);
$dbc_id=$wpdb->get_var($wpdb->prepare(“SELECT meta_value FROM $wpdb->usermeta WHERE meta_key = ‘dbcn_id’ LIMIT 1 OFFSET $dbcs”));
?>
<br><div align=center><a href=”http://www.dbc-network.biz/?id=<?php echo $dbc_id; ?>&s1=dunia-anak-bannernad”><img src=”http://www.beritaterkinionline.com/images/umum-468a-605.jpg” border=0></a>
</div>
3. Iklan di masing-masing author
<div>
<div align=center><a href=”http://www.dbc-network.biz/?id=<?php the_author_meta(‘dbcn_id’); ?>&s1=resep-home-bannernad”><img src=”http://www.beritaterkinionline.com/images/umum-468a-605.jpg” border=0></a></div><br>




