How to save settings in wordpress product page? - mysql

I have try out following code:
if(isset($_POST['save']))
{
global $wpdb,$product;
$id = $product->id;
$custommsg = sanitize_text_field( $_POST['customstock-msg'] );
$customprocessingtime = sanitize_text_field( $_POST['customstock-Processing-time'] );
$customstockquantity = sanitize_text_field( $_POST['customstock-quantity'] );
$customstockcatlogpage = sanitize_text_field( $_POST['customstock-catlogpage'] );
$customstockinstockdate = sanitize_text_field( $_POST['customstock-instockdate'] );
$customstockinstockdate = date("Y-m-d", strtotime($customstockinstockdate) );
$wpdb->insert('wp_woocommerce_specific_product_settings', array(
'custom_msg' => $custommsg,
'order_processing_time' => $customprocessingtime,
'exp_instock_date' => $customstockinstockdate,
'show_stockstatus_quantity' => $customstockquantity,
'showon_catlog' => $customstockcatlogpage,
'specific_product_id' => $id
));
}
I am beginner in wordpress can Anyone give solutions.

You just need to use the woocommerce's action hook woocommerce_process_product_meta.
Following is the code that should go into your functions.php file. You might want to rename the custom meta fields as required. (in the update_post_meta statement).
add_action( 'woocommerce_process_product_meta', 'wp_woo_save_product_custom_meta' );
function wp_woo_save_product_custom_meta( $post_id ){
$custommsg = sanitize_text_field( $_POST['customstock-msg'] );
if( !empty( $custommsg ) ){
update_post_meta( $post_id, 'customstock_msg', $custommsg ) );
}
$customprocessingtime = sanitize_text_field( $_POST['customstock-Processing-time'] );
if( !empty( $customprocessingtime ) ){
update_post_meta( $post_id, 'customstock_Processing_time', $customprocessingtime ) );
}
$customstockquantity = sanitize_text_field( $_POST['customstock-quantity'] );
if( !empty( $customstockquantity ) ){
update_post_meta( $post_id, 'customstock_quantity', $customstockquantity ) );
}
$customstockcatlogpage = sanitize_text_field( $_POST['customstock-catlogpage'] );
if( !empty( $customstockcatlogpage ) ){
update_post_meta( $post_id, 'customstock_catlogpage', $customstockcatlogpage ) );
}
$customstockinstockdate = sanitize_text_field( $_POST['customstock-instockdate'] );
$customstockinstockdate = date("Y-m-d", strtotime($customstockinstockdate) );
if( !empty( $customstockinstockdate ) ){
update_post_meta( $post_id, 'customstock_instockdate', $customstockinstockdate ) );
}
}

Related

Woocommerce - Adding Custom Fee Together in Cart

I created a function for a custom field for a fee which also multiplies depending on the amount of people booking:
// Add Custom Field to Product under General
function create_extra_fee_field() {
$args = array(
'id' => 'park_fee',
'label' => __( 'Natl Park Entrance Fee', 'tranq-lsx-child' ),
'class' => 'tranq-custom-field',
'desc_tip' => true,
'description' => __( 'This sets the Fee that will be added to the car.', 'tranq-lsx-child' ),
);
woocommerce_wp_text_input( $args );
}
add_action( 'woocommerce_product_options_general_product_data', 'create_extra_fee_field' );
// Save Custom Field Data
function save_extra_fee_field( $post_id ) {
$product = wc_get_product( $post_id );
$title = isset( $_POST['park_fee'] ) ? $_POST['park_fee'] : '';
$product->update_meta_data( 'park_fee', sanitize_text_field( $title ) );
$product->save();
}
add_action( 'woocommerce_process_product_meta', 'save_extra_fee_field' );
// Add Custom Field to Cart Totals
function woo_add_cart_fee() {
global $woocommerce;
foreach( WC()->cart->get_cart() as $cart_items ){
// Get the WC_Product object (instance)
$product = $cart_items['data'];
$product_id = $product->get_id(); // get the product ID
$custom_field_value = get_post_meta( $product->get_id(), 'park_fee', true );
$person = array_sum( $cart_items['booking']['_persons'] );
}
$additional_fee_name = "Natl Park Entrance Fee";
$extra_fee = $custom_field_value * $person;
$addedFee = false;
// first check to make sure it isn’t already there
foreach ( $woocommerce->cart->get_fees() as $_fee )
{
if ($_fee->id == sanitize_title($additional_fee_name) )
{
$_fee->amount = (float) esc_attr( $extra_fee );
}
}
if (!$addedFee)
{
$woocommerce->cart->add_fee( __($additional_fee_name, "woocommerce"),
$extra_fee, $additional_fee_taxable );
}
}
add_action( "woocommerce_before_calculate_totals", "woo_add_cart_fee" );
The one product is making use of that custom fee while the other product isn't its set to 0
But when both are added to the cart the fee just shows 0.
Is there any way to add both park fees together?
#Demonix, it is because the $custom_field_value is being overwritten with a '0' value, as the function loops through the attached products.
If you add in a statement to check if the park_fee is an actual number before replacing $custom_field_value
function woo_add_cart_fee() {
global $woocommerce;
$custom_field_value = 0;
foreach( WC()->cart->get_cart() as $cart_item ) {
// Get the WC_Product object (instance)
$product = $cart_item['data'];
$product_id = $product->get_id(); // get the product ID
$temp_value = get_post_meta( $product->get_id(), 'park_fee', true );
if ( false !== $temp_value && 0 !== $temp_value && '' !== $temp_value && '0' !== $temp_value ) {
$custom_field_value = $temp_value;
}
$person = array_sum( $cart_item['booking']['_persons'] );
}
$additional_fee_name = "Natl Park Entrance Fee";
$extra_fee = $custom_field_value * $person;
$addedFee = false;
// first check to make sure it isn’t already there
foreach ( $woocommerce->cart->get_fees() as $_fee ) {
if ($_fee->id == sanitize_title($additional_fee_name) ) {
$_fee->amount = (float) esc_attr( $extra_fee );
}
}
if (!$addedFee) {
$woocommerce->cart->add_fee( __($additional_fee_name, "woocommerce"),
$extra_fee, $additional_fee_taxable );
}
}
add_action( "woocommerce_before_calculate_totals", "woo_add_cart_fee" );

Trying to get property 'parameter' of non-object

Hello i have an api in Laravel i'm trying to get a value from a table column
Json response it already in the table json response but when i get it its says:
Trying to get property 'parameter' of non-object
i'm so new on laravel so i'm really lost with this
The Function i use when i call the api
it go to
$parameter = $value->parameter;
And then stop and say in PriceDetailHolder():
Trying to get property 'parameter' of non-object
I showed 2 functions because i don't really know where is the problem exactly
public static function PriceDetailHolder($booking_prices, $booking_id = null, $currency = null): array
{
if (!empty($booking_id) && $booking_id !== null) {
/**
* #var $booking Booking
*/
$booking = Booking::query()->find($booking_id);
$currency = $booking->CountryArea->Country->isoCode;
}
$holder[] = [
'highlighted_text' => trans('admin.message665'),
'highlighted_text_color' => '333333',
'highlighted_style' => 'BOLD',
'highlighted_visibility' => true,
'small_text' => 'eee',
'small_text_color' => '333333',
'small_text_style' => '',
'small_text_visibility' => false,
'value_text' => trans('admin.message665'),
'value_text_color' => '333333',
'value_text_style' => '',
'value_textvisibility' => false
];
foreach ($booking_prices as $key => $value) {
$code = '';
if (!empty($value->code)) {
$code = "({$value->code})";
}
$parameter = $value->parameter;
/**
* #var $parameterDetails PricingParameter
*/
$parameterDetails = PricingParameter::query()->find($parameter);
if ($parameterDetails === null) {
$prameterName = $parameter;
} else {
if ((int)$parameterDetails->parameterType === 13) {
$applicable = (int)$parameterDetails->applicable === 1 ? trans('api.message174') : trans('api.message175');
/**
* #var $priceCardValue PriceCardValue
*/
$priceCardValue = PriceCardValue::query()->where([['price_card_id', '=', $value->price_card_id], ['pricing_parameter_id', '=', $parameter]])->first();
$code = "($priceCardValue->parameter_price %)\n" . $applicable;
}
$prameterName = $parameterDetails->ParameterApplication . $code;
}
$holder[] = [
'highlighted_text' => $prameterName,
'highlighted_text_color' => '333333',
'highlighted_style' => 'NORMAL',
'highlighted_visibility' => true,
'small_text' => 'eee',
'small_texot_clor' => '333333',
'small_text_style' => '',
'small_text_visibility' => false,
'value_text' => $currency . ' ' . $value->amount,
'value_text_color' => '333333',
'value_text_style' => '',
'value_textvisibility' => true
];
}
return $holder;
}
public function End(EndTripRequest $request)
{
$merchant_id = $request->user('api-driver')->merchant_id;
$validator = Validator::make($request->all(), [
'booking_id' => [
'required',
'integer',
Rule::exists('bookings', 'id')->where(static function ($query) {
$query->where('booking_status', TripStatus::STARTED);
}),
],
'latitude' => 'required',
'longitude' => 'required',
'tip_amount' => 'nullable|numeric',
]);
if ($validator->fails()) {
$errors = $validator->messages()->all();
return response()->json(['result' => '0', 'message' => $errors[0], 'data' => []]);
}
/**
* #var $configuration BookingConfiguration
*/
$configuration = BookingConfiguration::query()->where('merchant_id', $merchant_id)->first();
$booking_id = $request->booking_id;
/**
* #var $booking Booking
*/
$booking = Booking::with('PriceCard')->find($booking_id);
/**
* #var $bookingDetails BookingDetail
*/
$bookingDetails = BookingDetail::booking($booking_id)->first();
$service_type_id = (int)$booking->service_type_id;
if (!in_array($service_type_id, [1, 5], false)) {
$start_meter_value = $bookingDetails->start_meter_value;
$customMessages = [
'gt' => trans_choice('api.endmeter', 3, ['value' => $start_meter_value]),
];
$validator = Validator::make($request->all(), [
'send_meter_image' => 'required',
'send_meter_value' => 'required|integer|gt:' . $start_meter_value,
], $customMessages);
if ($validator->fails()) {
$errors = $validator->messages()->all();
return response()->json(['result' => '0', 'message' => $errors[0], 'data' => []]);
}
}
$request->user('api-driver')->free_busy = 2;
$request->user('api-driver')->total_trips += 1;
$request->user('api-driver')->save();
/**
* #var $user \App\User
*/
$user = $booking->User;
++$user->total_trips;
$user->save();
if ($request->hasFile('send_meter_image')) {
$bookingDetails->end_meter_value = $request->send_meter_value;
$request->file('send_meter_image');
$send_meter_image = $request->send_meter_image->store('service');
$bookingDetails->end_meter_image = $send_meter_image;
}
$pricing_type = $booking->PriceCard->pricing_type;
$price_card_id = $booking->price_card_id;
$key = $configuration->google_key;
$endAddress = GoogleController::GoogleLocation($request->latitude, $request->longitude, $key);
$endAddress = $endAddress ?: 'Address Not found';
$endTimeStamp = time();
$bookingDetails->end_timestamp = $endTimeStamp;
$bookingDetails->end_latitude = $request->latitude;
$bookingDetails->end_longitude = $request->longitude;
$bookingDetails->end_location = $endAddress;
$bookingDetails->accuracy_at_end = $request->accuracy;
$bookingDetails->save();
$start_timestamp = $bookingDetails->start_timestamp;
$seconds = $endTimeStamp - $start_timestamp;
$hours = floor($seconds / 3600);
$mins = floor($seconds / 60 % 60);
//$secs = floor($seconds % 60);
$timeFormat = sprintf('%02d H %02d M', $hours, $mins);
$rideTime = round(abs($endTimeStamp - $start_timestamp) / 60, 2);
$from = $bookingDetails->start_latitude . ',' . $bookingDetails->start_longitude;
$to = $request->latitude . ',' . $request->longitude;
$coordinates = '';
$bookingData = new BookingDataController();
$bookingData->ActivateRefer($booking->id);
/**
* Calculate the distance based on service type.
*/
switch ($service_type_id) {
case '1':
$bookingcoordinates = BookingCoordinate::query()->where('booking_id', $request->booking_id)->first();
$pick = $booking->pickup_latitude . ',' . $booking->pickup_longitude;
$drop = $booking->drop_latitude . ',' . $booking->drop_longitude;
$distanceCalculation = new DistanceCalculation();
$distance = $distanceCalculation->distance($from, $to, $pick, $drop, $bookingcoordinates['coordinates'], $merchant_id, $key);
$distance = round($distance);
$coordinates = $bookingcoordinates['coordinates'];
break;
case '5':
$distance = GoogleController::GoogleShortestPathDistance($from, $to, $key);
$distance = round($distance);
break;
default:
$distance = $bookingDetails->end_meter_value - $bookingDetails->start_meter_value;
$distance *= 1000;
}
/**
* Calculate Trip Amount based on Pricing Type
*/
switch ($pricing_type) {
case '1':
case '2':
$newArray = PriceController::CalculateBill($price_card_id, $distance, $rideTime, $booking_id, $bookingDetails->wait_time, (double)$bookingDetails->dead_milage_distance, (double)$booking->User->outstanding_amount);
/**
* Check if trip went through a toll gate
*/
if (!empty($configuration->toll_api)) {
$newTool = new Toll();
$toolPrice = $newTool->checkToll($configuration->toll_api, $from, $to, $coordinates, $configuration->toll_key);
if (is_array($toolPrice) && array_key_exists('cost', $toolPrice) && $toolPrice['cost'] > 0) {
$parameter[] = ['price_card_id' => $price_card_id, 'booking_id' => $booking_id, 'parameter' => 'TollCharges', 'amount' => sprintf('%0.2f', $toolPrice['cost']), 'type' => 'CREDIT', 'code' => ''];
$newArray[] = $parameter;
}
}
$newExtraCharge = new ExtraCharges();
$carditnewArray = array_filter($newArray, static function ($e) {
return ($e['type'] === 'CREDIT');
});
$amount = array_sum(Arr::pluck($carditnewArray, 'amount'));
if ($booking->number_of_rider > 1) {
$amount += $booking->PriceCard->extra_sheet_charge;
}
$booking_time = (int)$booking->booking_type === BookingType::RIDE_NOW ? $booking->created_at->toTimeString() : $booking->later_booking_time;
$timeCharge = $newExtraCharge->NightChargeEstimate($price_card_id, $booking_id, $amount, $booking_time);
if (!empty($timeCharge)) {
$charge = array_sum(Arr::pluck($timeCharge, 'amount'));
$amount += $charge;
$newArray = array_merge($newArray, $timeCharge);
}
/**
* Check and calculate surge price
*/
if ((int)$booking->PriceCard->sub_charge_status === 1) {
$surge = (int)$booking->PriceCard->sub_charge_type === 1 ? $booking->PriceCard->sub_charge_value : bcdiv($amount, $booking->PriceCard->sub_charge_value, 2);
$amount += $surge;
$parameter = ['price_card_id' => $price_card_id, 'booking_id' => $booking_id, 'parameter' => 'Surge-Charge', 'amount' => sprintf('%0.2f', $surge), 'type' => 'CREDIT', 'code' => ''];
$newArray[] = $parameter;
}
$discoutArray = array_filter($newArray, static function ($e) {
return ($e['type'] === 'DEBIT');
});
/**
* Check if there's a promo code applied to this booking
*/
if (!empty($discoutArray)) {
$promoDiscount = sprintf('%0.2f', array_sum(Arr::pluck($discoutArray, 'amount')));
$bookingDetails->promo_discount = $promoDiscount;
$amount = $amount > $promoDiscount ? $amount - $promoDiscount : '0.00';
} else {
$bookingDetails->promo_discount = '0.00';
}
/**
* Check if a driver or user is referee
*/
$referDiscount = $bookingData->Refer($booking->user_id);
if ($referDiscount !== NULL) {
switch ($referDiscount->offer_type) {
case '1':
$referAmount = $amount;
$amount = 0;
break;
case '2':
$referAmount = ($amount * $referDiscount->referral_offer_value) / 100;
$amount -= $referAmount;
break;
case '3':
$referAmount = $referDiscount->referral_offer_value;
$amount = $amount < $referAmount ? 0 : $amount - $referAmount;
break;
default:
$referAmount = 0;
break;
}
$parameter[] = ['price_card_id' => $price_card_id, 'booking_id' => $booking_id, 'parameter' => 'Promotion', 'amount' => sprintf('%0.2f', $referAmount), 'type' => 'DEBIT', 'code' => ''];
array_push($newArray, $parameter);
}
$billDetails = json_encode($newArray);
$bookingDetails->total_amount = sprintf('%0.2f', $amount);
$payment = new Payment();
if ($amount > 0) {
$payment->MakePayment($booking->id, $booking->payment_method_id, $amount, $booking->user_id, $booking->card_id);
} else {
$payment->UpdateStatus($booking->id);
}
$bookingDetails->bill_details = $billDetails;
$bookingDetails->save();
\App\Http\Controllers\Helper\CommonController::Commission($booking_id, $amount);
if ($booking->User->outstanding_amount) {
User::query()->where('id', $booking->user_id)->update(['outstanding_amount' => NULL]);
}
break;
case '3':
$amount = '';
break;
default:
$amount = '';
break;
}
if ($service_type_id === 5) {
$poolRide = new PoolController();
$poolRide->DropPool($booking, $request);
}
$distance = round($distance / 1000, 2) . ' Km';
$booking->booking_status = TripStatus::COMPLETED;
$booking->travel_distance = $distance;
$booking->travel_time = $timeFormat;
$booking->travel_time_min = $rideTime;
$booking->final_amount_paid = sprintf('%0.2f', $amount);
$booking->save();
$user_id = $booking->user_id;
$message = 'Driver End Ride';
$userdevices = UserDevice::getLastDevice($booking->user_id);
$playerids = [$userdevices->player_id];
$data = $bookingData->BookingNotification($booking);
Onesignal::UserPushMessage($playerids, $data, $message, 1, $booking->merchant_id);
return response()->json(['result' => '1', 'message' => trans('api.message15'), 'data' => $booking]);
}
Its coming from a table
[{"price_card_id":3,"booking_id":"42540","parameter":1,"amount":"1.50","type":"CREDIT","code":""},{"price_card_id":3,"booking_id":"42540","parameter":2,"amount":"0.00","type":"CREDIT","code":""},{"price_card_id":3,"booking_id":"42540","parameter":3,"amount":"0.00","type":"CREDIT","code":""},{"price_card_id":3,"booking_id":"42540","parameter":4,"amount":"0.00","type":"CREDIT","code":""},{"price_card_id":3,"booking_id":"42540","parameter":5,"amount":"0.00","type":"DEBIT","code":""},[{"price_card_id":3,"booking_id":"42540","parameter":"Promotion","amount":10,"type":"DEBIT","code":""}]]
Please tell me to show you anything if i'm wrong i'm really sorry for my poor knowledge in all this but i'm just in the first step to learn
So a quick look at your code the code that fails is $value->parameter.
That value comes from $booking_prices, so the issue lies in the objects returned when iterating booking_prices does not have the property parameter.
You could remove the error by doing $parameter = $value->parameter ?? null; // null as default value or by figuring out why the parameter attribute does not always exist.

Somehow can't prevent name duplication

I recently ran into some trouble with my registration system, I've tried to prevent name duplication in a lot of ways, And already browsed stackoverflow aswell.
But i can't seem to find the solution.
Here is my code
<?php
if (isset($_POST['registerBtn']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$rpassword = $_POST['rpassword'];
$email = $_POST['email'];
$errors = array();
$checkUsername = $odb -> prepare("SELECT COUNT(*) as total from FROM `users` WHERE `username` = :username");
$checkUsername -> execute(array(':username' => $username));
$countUsername = $checkUsername -> fetchColumn(0);
if ($checkUsername > 0)
{
$errors['Username is already taken'];
}
if (!ctype_alnum($username) || strlen($username) < 4 || strlen($username) > 15)
{
$errors[] = 'Username Must Be Alphanumberic And 4-15 characters in length';
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$errors[] = 'Email is invalid';
}
if (empty($username) || empty($password) || empty($rpassword) || empty($email))
{
$errors[] = 'Please fill in all fields';
}
if ($password != $rpassword)
{
$errors[] = 'Passwords do not match';
}
if (empty($errors))
{
$insertUser = $odb -> prepare("INSERT INTO `users` VALUES(NULL, :username, :password, :email, 0, 0, 0, 0)");
$insertUser -> execute(array(':username' => $username, ':password' => SHA1($password), ':email' => $email));
echo '<div class="nNote nSuccess hideit"><p><strong>SUCCESS: </strong>User has been registered. Redirecting....</p></div><meta http-equiv="refresh" content="3;url=login.php">';
}
else
{
echo '<div class="nNote nFailure hideit"><p><strong>ERROR:</strong><br />';
foreach($errors as $error)
{
echo '-'.$error.'<br />';
}
echo '</div>';
}
}
?>
You can put a UNIQUE constraint on username as such:
CREATE TABLE users
(
id int NOT NULL AUTO_INCREMENT,
username varchar(30),
password varchar(80),
email varchar(80),
PRIMARY KEY (id),
UNIQUE KEY username (username)
)
You should be comparing to $countUsername, not $checkUsername.
if ($checkUsername > 0)
Change to
if ($countUsername> 0)
Also, this line should be changed from:
if ($checkUsername > 0)
{
$errors['Username is already taken'];
}
To
if ($checkUsername > 0)
{
$errors[] = 'Username is already taken';
}
See below:
<?php
if (isset($_POST['registerBtn']))
{
$username = $_POST['username'];
$password = $_POST['password'];
$rpassword = $_POST['rpassword'];
$email = $_POST['email'];
$errors = array();
$checkUsername = $odb -> prepare("SELECT COUNT(*) as total from FROM `users` WHERE `username` = :username");
$checkUsername -> execute(array(':username' => $username));
$countUsername = $checkUsername -> fetchColumn(0);
$errors = [];
if ($countUsername > 0)
{
$errors[] = 'Username is already taken';
}
if (!ctype_alnum($username) || strlen($username) < 4 || strlen($username) > 15)
{
$errors[] = 'Username Must Be Alphanumberic And 4-15 characters in length';
}
if (!filter_var($email, FILTER_VALIDATE_EMAIL))
{
$errors[] = 'Email is invalid';
}
if (empty($username) || empty($password) || empty($rpassword) || empty($email))
{
$errors[] = 'Please fill in all fields';
}
if ($password != $rpassword)
{
$errors[] = 'Passwords do not match';
}
if (count($errors) > 0)
{
$insertUser = $odb -> prepare("INSERT INTO `users` VALUES(NULL, :username, :password, :email, 0, 0, 0, 0)");
$insertUser -> execute(array(':username' => $username, ':password' => SHA1($password), ':email' => $email));
echo '<div class="nNote nSuccess hideit"><p><strong>SUCCESS: </strong>User has been registered. Redirecting....</p></div><meta http-equiv="refresh" content="3;url=login.php">';
}
else
{
echo '<div class="nNote nFailure hideit"><p><strong>ERROR:</strong><br />';
foreach($errors as $error)
{
echo '-'.$error.'<br />';
}
echo '</div>';
}
}
?>

wordpress theme, syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in functions.php on line 118

I tired to fix this line:
if ( $_GET['paged'] ) && ! empty( $_GET['paged'] ) ) {
on my functions.php , but with no succes ! i'm really stuck! i get wordpress theme, syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in functions.php on line 118
<?php
/**
*
* # Release: Me
*
**/
function get_category_id($cat_name) {
$term = get_term_by( 'name', $cat_name, 'category' );
return $term->term_id;
}
function kisabaslik($char) {
$title = get_the_title( $post->ID );
$title = mb_substr( $title, 0, $char, 'UTF-8' );
echo $title;
}
function kisaicerik($kisacik) {
$icerik = get_the_content( $post->ID );
$icerik = mb_substr( $icerik, 0, $kisacik, 'UTF-8' );
str_replace( '</strong>', '', $icerik );
$icerik = str_replace( '<strong>', '', $icerik );
echo strip_tags( $icerik );
}
function the_breadcrumb() {
global $post;
if (!is_home( )) {
echo '<a href=\'uploadify.php';
echo get_option( 'home' );
echo '\'> » ';
echo get_option( 'echo_kisasiteadresi' );
echo '</a>';
if (( is_category( ) || is_single( ) )) {
echo ' » ';
$cats = get_the_category( $post->ID );
foreach ($cats as $cat) {
$cat = $cat[0];
$category_id = get_cat_id( $cat->cat_name );
$category_link = get_category_link( $category_id );
echo '<a href="' . esc_url($category_link ) . '" title="' . $cat->cat_name . '">';
echo $cat->cat_name;
echo '</a>';
echo ' » ';
}
if (is_single( )) {
echo '<a href="';
the_permalink( );
echo '">';
the_title( );
echo '</a>';
return null;
}
}
else {
if (is_page( )) {
if ($post->post_parent) {
$anc = get_post_ancestors( $post->ID );
$anc_link = get_page_link( $post->post_parent );
foreach ($cats as $cat) {
$ancestors = get_ancestors(
$output = '<a href="'. $anc_link . '>' . get_the_title( $ancestor ) . "'</a>';
}
echo $output;
the_title( );
return null;
}
echo ' » ';
echo the_title( );
return null;
}
}
}
else {
if (is_tag( )) {
single_tag_title( );
return null;
}
if (is_day( )) {
echo 'Archive: ';
the_time( 'F jS, Y' );
echo '</li>';
return null;
}
if (is_month( )) {
echo 'Archive: ';
the_time( 'F, Y' );
echo '</li>';
return null;
}
if (is_year( )) {
echo 'Archive: ';
the_time( 'Y' );
echo '</li>';
return null;
}
if (is_author( )) {
echo 'Author\'s archive: ';
echo '</li>';
return null;
}
if ( $_GET['paged'] ) && ! empty( $_GET['paged'] ) ) {
echo 'Blogarchive: ';
echo '</li>';
return null;
}
if (is_search( )) {
echo 'Search results: ';
}
}
}
function searchfilter($query) {
if ($query->is_search) {
$query->set( 'post_type', 'post' );
}
return $query;
}
function toplamoynanma() {
$queryvvv = mysql_query( 'SELECT sum(meta_value) FROM wp_postmeta where meta_key=\'views\'' );
$rowvvvv = mysql_fetch_array( $queryvvv );
echo number_format( $rowvvvv[0] );
}
function oyhesapla($id) {
$begen = error_reporting( 0 );
$begenme = get_post_meta( $id, 'begenme', true );
$toplamoy3 = $begen + $begenme;
$toplamoy = $begen - $begenme;
$begenmeoy = 1 * $begenme;
$begenoy = 5 * $begen;
$toplamoy2 = $begenoy + $begenmeoy;
$fark = $toplamoy * 100 / $toplamoy2;
$islem = $fark / 10;
round( $islem, 2 );
$sonuc = get_post_meta( $id, 'begen', true );
$sonuc1 = explode( '.', $sonuc );
$sonuc2 = ceil( $sonuc1[1] / 10 );
if (!$sonuc2) {
$sonuc2 = $sonuc / 10;
}
if (10 < $sonuc2) {
$sonuc2 = 40;
}
if ($sonuc2 < 1) {
$sonuc2 = 31;
}
echo $toplamoyS;
echo '<b>' . $sonuc2 . ' / 10 </b><span>( ' . $toplamoy3 . ' members of the game.)</span>';
}
function favkon($id) {
$cookiefav = 'favoricook[' . $id . ']';
if ($_SESSION[$cookiefav]) {
echo '<a class="favorileA">Favorite Games.</a>
';
return null;
}
echo '<a class="favorile" onclick="favoriEkle(';
echo $id;
echo ');">Add Favorite</a>
';
}
function echoyazibegenme($postid) {
global $tema;
echo '
<div style=" margin-top:10px; ';
if ($d == 2) {
echo 'float:right;';
}
echo '">
<div class="oysonuc"></div>
';
$cookieoysv = 'obegenbegenme' . $postid;
echo '
<div class="sYas">
<a id="begen" onclick="oyver(';
echo $postid;
echo ',1);" class="begenButon" title="BeÄŸen"></a><div class="begenButonS">';
echo '<s';
echo 'pan>';
if (!get_post_meta( $postid, 'begen', true )) {
echo '0';
}
else {
echo get_post_meta( $postid, 'begen', true );
}
echo '</span></div>
<a id="begenme" style="margin-top:0" onclick="oyver(';
echo $postid;
echo ',2);" class="begenmeButon" title="BeÄŸenme"></a><div class="begenmeButonS">';
echo '<s';
echo 'pan>';
if (!get_post_meta( $postid, 'begenme', true )) {
echo '0';
}
else {
echo get_post_meta( $postid, 'begenme', true );
}
echo '</span></div>
</div>
';
echo '<s';
echo 'cript>
function oyver(id,is){
if(is==1){
var begenic = $(".begenButonS span").text();
begenic++;
}
if(is==2){
var begenmeic = $(".begenmeButonS span").text();
begenmeic++;
}
$.ajax( {
url: "';
echo $tema;
echo 'oyislem.php?islem="+is+"&postID="+id,
success: function(cevap) {
if(cevap==0){
$(".oysonuc").fadeIn(500);
$(".oysonuc").html("<div class=\'uyar\'>The procedure before you did it.</div>").delay(3000);
$(".oysonuc").fadeOut(500);
}
if(is==1 && cevap==1){
$(".begenButonS span").html(begenic);
}
if(is==2 && cevap==1){
$(".begenmeButonS span").html';
echo '(begenmeic);
}
}
});
}
</script>
</div>
';
}
function redirect_after_comment($location) {
return $_SERVER['HTTP_REFERER'] . '#yorum';
}
function kategori_post_say($id) {
$count = 31;
$taxonomy = 'category';
$args = array( 'child_of' => $id );
$tax_terms = get_terms( $taxonomy, $args );
foreach ($tax_terms as ) {
$tax_term = [0];
$tax_term->count;
$count += ;
}
return $count;
}
add_action( 'wp_head' );
$botresim = $tema = get_bloginfo( 'template_url' ) . '/';
get_option( 'echo_botswf' );
$botswf = get_option( 'echo_botresim' );
add_theme_support( 'post-thumbnails' );
add_image_size( 'yeniOyunRes', 147, 119, true );
add_image_size( 'onerilenOyunlar', 330, 205, true );
add_image_size( 'mansetOyun', 330, 100, true );
require_once( TEMPLATEPATH . '/admin/admin-functions.php' );
require_once( TEMPLATEPATH . '/admin/admin-interface.php' );
require_once( TEMPLATEPATH . '/admin/theme-settings.php' );
register_nav_menu( 'kategori-menu', 'Kategori' );
add_filter( 'pre_get_posts', 'SearchFilter' );
$botresim = register_nav_menu( 'sayfalar', 'Alt Kısımdaki Sayfalar Bölümü' );
get_option( 'echo_botswf' );
$botswf = get_option( 'echo_botresim' );
get_category_id( get_option( 'echo_oyunvideo' ) );
$oyunvideo = add_filter( 'comment_post_redirect', 'redirect_after_comment' );
?>
The issue with your php is that you are closing the if statement then adding extravariables to nothing. It should look like this:
if ( $_GET['paged'] && ! empty( $_GET['paged'] ) ) {

Insert data with insert_batch

I'm using the following statement to insert data in mysql with codeigniter.
$this->db->insert_batch($table, $query);
$query is generated dynamically can have different number of columns on each array element
and maybe the number of elements may differ on condition
array (
0 => array(
'column1'=>'insert1',
'column2'=>'insert2'
),
1 => array(
'column1'=>'insert1';
'column2'=>'insert2',
'column4'=>'insert4'
)
)
could this cause an error or handles codigniter from deafult?
I'm building up the query as it follows
foreach ($sql_xml as $children) {
$children = $this->xml2array($children);
foreach ($children as $index => $child) {
if ($child != 'feed_id') {
$keys[$index] = $child;
}
}
}
switch (strtolower($this->config[0]->affiliate)) {
case 'case1':
$target_xml = $target_xml->productItems;
break;
case 'case2':
$target_xml = $target_xml;
break;
default :
break;
}
$query = array();
$data = array();
foreach ($target_xml as $feeds) {
$feeds = $this->xml2array($feeds);
$columns = new RecursiveIteratorIterator(new RecursiveArrayIterator($feeds));
foreach ($columns as $index => $column) {
if (array_key_exists($index, $keys)) {
if($column != ''){
$data[$keys[$index]] = $column;
$data['feed_id'] = $this->id;
}
//*TODO //$data['affiliate'] = "'.$this->config[0]->affiliate.'";
}
}
$query[] = $data;
}
if (count($query > 0)) {
foreach ($query as $t){
$this->db->insert($table, $t);
}
}
The array's would need to have the same amount of "columns".
So what I would recommend is the following (setting certain columns to null if no there is no data):
array (
0 => array(
'column1' => 'insert1',
'column2' => 'insert2',
'column3' => null,
'column4' => null
),
1 => array(
'column1' => 'insert1',
'column2' => 'insert2',
'column3' => 'insert3',
'column4' => 'insert4'
)
)
Also, your syntax is invalid and it would cause an error since you are using a ; instead of an , on the first column insert.