首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在表单上的任何地方调用函数操作?

如何在表单上的任何地方调用函数操作?
EN

Stack Overflow用户
提问于 2022-08-20 12:55:55
回答 1查看 41关注 0票数 -1

我有一个功能,显示上传的化身和删除按钮,以防你想删除化身。一切都正常。我的问题是,显示的化身和删除按钮合并在一起,如果我想移动删除按钮在其他地方,我无法做到。

因此,我正在寻找一种方式,以调用删除按钮,无论我想。我想用js解决方案来改变html结构,作为最后的希望和解决方案,但我不想这样做。

有人知道我怎么把移除按钮移到别处吗?该函数位于functions.php中,我应该将按钮移动到的目的地是表单编辑-Account.php模板,我根据需要定制了该模板。

我想移动的线是这个

代码语言:javascript
运行
复制
echo '<a href=' . wc_get_account_endpoint_url('impostazioni') . '?rm_profile_image_id=' . $attachment_id . '> ' . __('Remove') . ' </a>';

这是一个完整的函数

代码语言:javascript
运行
复制
// Display / Remove Avatar
function action_woocommerce_edit_account_form($size) {

  // Get current user id
  $user_id = get_current_user_id();

  // Get attachment id
  $attachment_id = get_user_meta($user_id, 'image', true);

  // True
  if ($attachment_id) {
    $original_image_url = wp_get_attachment_url($attachment_id);

    // Display Image instead of URL
    echo wp_get_attachment_image($attachment_id, $size = array('150', '150')); // Invece dell'array size, stava 'full' come parametro.

    if (isset($_GET['rm_profile_image_id'])) {
      if ($attachment_id == $_GET['rm_profile_image_id']) {
        wp_delete_attachment($attachment_id);
        
        //delete_user_meta($user_id, 'image');
        if (delete_user_meta($user_id, 'image')) {
          wp_delete_attachment($attachment_id);
        }

        ?><script>window.location='<?php echo wc_get_account_endpoint_url('impostazioni') ?>';</script><?php
        exit();
      }
    } else {
      echo '<a href=' . wc_get_account_endpoint_url('impostazioni') . '?rm_profile_image_id=' . $attachment_id . '> ' . __('Remove') . ' </a>';
    }
  }
} add_action( 'woocommerce_edit_account_form_start', 'action_woocommerce_edit_account_form' );
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-20 15:35:35

好吧,这很奇怪,但是它很有效,我把函数直接放在表单中。这不是一个非常“干净”的解决方案,但它对我有用。如果有人认为我做错了什么,我很感激任何建议和纠正。

代码语言:javascript
运行
复制
<form name="Form" class="mts-edit-account" action="" method="post" <?php do_action( 'woocommerce_edit_account_form_tag' );?> >
  
  <!-- Avatar Remove button -->
  <div class="global_container avatar">
    <?php
    if (isset($_GET['rm_profile_image_id'])) {
      if ($attachment_id == $_GET['rm_profile_image_id']) {
        wp_delete_attachment($attachment_id);
        
        //delete_user_meta($user_id, 'image');
        if (delete_user_meta($user_id, 'image')) {
          wp_delete_attachment($attachment_id);
        }

        ?><script>window.location='<?php echo wc_get_account_endpoint_url('impostazioni') ?>';</script><?php
        exit();
      }
    } else {
      echo '<a href=' . wc_get_account_endpoint_url('impostazioni') . '?rm_profile_image_id=' . $attachment_id . '> ' . __('Remove') . ' </a>';
    } ?>
  </div>  

//Other fields........

</form>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73426879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档