hoseni_68

اضافه کردن دکمه بروز رسانی به مطالب سایت در وردپرس

5 پست در این موضوع قرار دارد

با سلام

من یه سایت دارم که میخوام مثل سایت های آگهی براش یه دکمه بروزرسانی بذارم که وقتی کاربر روی دکمه کلیک کرد مطلبش بیاد بالاترین (اولین مطلب) قرار بگیره.

یکسال پیش این سوال داخل سایت وردپرس فارسی گذاشتم ولی جوابی نگرفتم ولی از اونجا که با نیاز دارم و طبق تجربه پست های قبلی می دونم اینجا استاد های خوبی همچون استاد ایمان فخار را داره حتما به نتیجه خواهم رسید.

لطفا راهنمایی بفرمایید که چه کدهایی باید بذارم.

0

به اشتراک گذاری این پست


لینک به پست

داخل سایت های انگلیسی گشتم اینو پیدا کردم و اجرا شد، ولی نتونستم کاری کنم که بعد از کلیک روی دکمه آیدی نوشته رو بفرستم براش و تاریخش رو بروزرسانی کنم

 

   $time = current_time('mysql');
        wp_update_post(
            array (
                'ID'            => 124, // ID of the post to update
                'post_date'     => $time,
                'post_date_gmt' => get_gmt_from_date( $time )
            )
        ); 

124 هم آیدی نوشته هستش

لطفا راهنمایی کنید که کامل بشه.

0

به اشتراک گذاری این پست


لینک به پست

الان این کارو کردم ولی کار نمی کنه

<button type="button" onclick="updatepostmoji(155)">بروزرسانی</button>
<script>
function updatepostmoji(iid)
{ 
     var x="<?php echo update_post_moji(iid) ?>";
	 alert(x);
}
</script>
<?php
	function update_post_moji($idforupdate) {
		$time = current_time('mysql');
		wp_update_post(
			array (
				'ID'            => $idforupdate, // ID of the post to update
				'post_date'     => $time,
				'post_date_gmt' => get_gmt_from_date( $time )
			)
		); 
	}
?>

لطفا راهنمایی کنید که کامل بشه.

ویرایش شده در توسط hoseni_68
0

به اشتراک گذاری این پست


لینک به پست

تابع پی اچ پی درسته، ولی نحوه فراخوانی آن کاملا اشتباهه!

این کد را داخل functions.php پوسته قرار بدید.

<?php
	function update_post_moji($idforupdate) {
        $time = current_time('mysql');
        wp_update_post(
            array (
                'ID'            => $idforupdate, // ID of the post to update
                'post_date'     => $time,
                'post_date_gmt' => get_gmt_from_date( $time )
            )
        );
    }

    //@author a.moeny@gmail.com
    function update_sticky_post() {
        $required_keys = array(
            'action'   => '',
            'id'       => '',
            'token'    => '',
        );
        if ( ! array_diff_key( $required_keys, $_GET ) ) {
            $post_id = intval($_GET['id']);
            if( $_GET['action'] === 'sticky-post' && $_GET['token'] === wp_create_nonce('sticky-' . $post_id ) ) {
                update_post_moji($post_id);
            }

        }
    }
    add_action('init', 'update_sticky_post', 3);

 

برای نمایش دکمه، کد زیر را قرار بدید.

 

<a class="button" href="<?php echo site_url('/?action=sticky-post&id=155&token='. wp_create_nonce('sticky-155') ) ?>">بروزرسانی</a>

فقط توجه داشته باشید به جای ۱۵۵ باید آی دی پست مورد نظر را قرار بدید.

ویرایش شده در توسط moeini
0

به اشتراک گذاری این پست


لینک به پست

مشکل حل شد، نیازی به انجام این همه مرحله پیچیده نیست کد زیر رو داخل هر صحفه ای که میخواید دکمه اپدیت قرار داده بشه بذارید

<? //دکمه آپدیت مطلب
if(isset($_POST['sanattools'])) {
	$numberChild = $_POST['sanattools'];
	$time = current_time('mysql');
	wp_update_post(
		array (
			'ID'            => $numberChild, // ID of the post to update
			'post_date'     => $time,
			'post_date_gmt' => get_gmt_from_date( $time )
		)
	);
}
?>
<form action="" method="post">
	<input type="hidden" name="sanattools" value="<?	echo $post->ID;?>">
	<button type="submit">بروزرسانی آگهی</button><br>
</form>

خودش آیدی دسته رو اتومات داخل همون صفحه میفرسته و آپدیت می کنه

نمونش هم داخل سایت خرید و فروش ابزار دسته دوم پیداه سازی شده، فقط باید یه آگهی ثبت بشه و دکمه آپدیت زده بشه تاریخش بروز میشه و آگهی میاد اولین نفر.

0

به اشتراک گذاری این پست


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری