0

ユーザーが WordPress ブログのフロント エンドからリンクをクリックしたときに、投稿のメタ キーを更新しようとしています。私が本当に望んでいるのは、ユーザーがリンクをクリックしたときに dealexp_expired_status キーの値が「on」に更新されることです。

これを達成する方法はありますか?ありがとう!

更新:これまでのコードは次のとおりです。

add_filter( 'the_content', 'my_the_content_filter', 20 );

function my_the_content_filter( $content ) {
$content = dealexp_add_exp_link() . $content;

// Returns the content.
return $content;
}

function dealexp_add_exp_link() {
$exp_url = plugins_url('/deal-expirator/includes/update.php');
?>
<a href="<?php echo $exp_url; ?>?update_key=1">Mark Expired</a>
<?php }

そして update.php ファイルには、次のものがあります。

<?php

if (isset($_GET["update_key"])) {
global $post;
update_post_meta($post->ID, 'dealexp_expired_status', 'on');
}

?>

ただし、リンクをクリックすると致命的なエラーが発生します。何か考えや提案はありますか?

4

1 に答える 1

1
  1. 新しいパラメーターでハイパーリンクを作成します。たとえば、index.php?update_key=1

  2. 必要な php ファイルで、php ブロックを作成します。

たとえば、single.php で実行している場合は、そのようなコードをwhile ( have_posts() )ブロック内に貼り付けます。

<?php if (isset($_GET["update_key"])) {update_post_meta($post->ID, 'dealexp_expired_status', 'key_value');} ?>
于 2012-05-07T06:14:38.630 に答える