首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >没有插件的电子商务安培版本

没有插件的电子商务安培版本
EN

Stack Overflow用户
提问于 2018-03-29 23:19:32
回答 1查看 374关注 0票数 0

我有两个电子商务网站的产品页面:一个是由Woocommerce (在WordPress中)制作的,另一个是我用AMP编写的。

这里是WordPress页面,这里是AMP页面。没有考虑到这两个页面位于两个不同的子域上,我如何将移动用户重定向到页面的AMP版本?

有人问了一个类似的问题,但它只具体说明了如何为简单的页面,而不是产品页。

有人知道怎么做吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-30 00:13:29

要回答您的问题,如果您不想使用插件,就必须在主题functions.php中硬编码以下几行代码。

根据你的问题,让它发挥作用的方法如下

  1. 在产品后型WooCommerce中创建Metabox
  2. 将输入字段添加到创建的Metabox中
  3. 通过save_post动作钩子保存输入字段
  4. 输入每个产品的特定URL
  5. 从Product获取保存的数据,如果它是移动用户,则重定向。

步骤1:创建Metabox

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//Create Metabox
function wc_49570125_register_meta_boxes() {
    add_meta_box('meta-box-id', __('Mobile Version URL', 'yourtextdomain'), 'wc_49570125_my_display_callback', 'product');
}

add_action('add_meta_boxes', 'wc_49570125_register_meta_boxes');

步骤2:添加输入字段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Add Input Field
function wc_49570125_my_display_callback($post) {
    $get_id = $post->ID;
    $get_value = get_post_meta($get_id, 'wc_mobile_version_url', true);
    ?>
    <p>
        <label><?php _e('Mobile URL to Redirect', 'yourtextdomain'); ?></label>
        <input type="text" name="wc_mobile_version_url" value="<?php echo $get_value; ?>"/>
    </p>
    <?php
}

步骤3:保存输入字段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// save input field
function wc_49570125_save_meta_box($post_id) {
    $post_type = get_post_type($post_id);
    if ('product' != $post_type) {
        return;
    }
    if (isset($_POST['wc_mobile_version_url'])) {
        $mobile_version = $_POST['wc_mobile_version_url'];
        update_post_meta($post_id, 'wc_mobile_version_url', $mobile_version);
    }
}

add_action('save_post', 'wc_49570125_save_meta_box');

步骤4:将移动用户重定向到移动版本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// redirect input field

function wc_49570125_mobile_redirect() {
    global $product, $post;
    if (is_product()) {
        $get_id = $post->ID;
        $amp_location = get_post_meta($get_id, 'wc_mobile_version_url', true);
        if (wp_is_mobile() && $amp_location) {
            wp_redirect($amp_location);
            exit;
        }
    }
}

add_action('wp', 'wc_49570125_mobile_redirect');

步骤5:为Google添加可发现链接

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function wc_49570125_amp_google_link() {
    global $product, $post;
    if (is_product()) {
        $get_id = $post->ID;
        $amp_location = get_post_meta($get_id, 'wc_mobile_version_url', true);
        if ($amp_location) {
            ?>
            <link rel="amphtml" href="<?php echo $amp_location; ?>"/>
            <?php
        }
    }
}

add_action('wp_head', 'wc_49570125_amp_google_link');

我测试了上面的代码,看起来效果很好。

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

https://stackoverflow.com/questions/49570125

复制
相关文章
有没有Windows版本的Application Loader
1.Application Loader没有windows版本,不过我想你是想在windows上传ipa到苹果商店,在windows上发布苹果app吧。有2种方法可以替代application uploader。
爱学iOS的小麦子
2023/05/09
5190
没有这 29 款插件的 Chrome 是没有灵魂的
相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多强大好用的扩展程序(Extensions)。
良月柒
2020/09/23
6200
没有这 29 款插件的 Chrome 是没有灵魂的
没有这 29 款插件的 Chrome 是没有灵魂的
相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多强大好用的扩展程序(Extensions)。
Java识堂
2020/09/22
4660
没有这 29 款插件的 Chrome 是没有灵魂的
相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多强大好用的扩展程序(Extensions)。
java进阶架构师
2020/09/30
6860
没有这 29 款插件的 Chrome 是没有灵魂的
没有这 29 款插件的 Chrome 是没有灵魂的
相信很多人都在使用 Chrome 浏览器,其流畅的浏览体验得到了不少用户的偏爱,但流畅只是一方面, Chrome 最大的优势还是其支持众多强大好用的扩展程序(Extensions)。
会呼吸的Coder
2020/09/21
6330
没有这 29 款插件的 Chrome 是没有灵魂的
maven版本号插件
项目地址:https://github.com/mojohaus/flatten-maven-plugin
阿超
2022/09/28
6190
解决Typecho插件的配置信息没有找到
入坑Typecho已经一个多月了,在这期间Typecho的插件也开发了两个(其实我现在正在开发第三个,就不告诉你是个采集插件),然后大大小小的坑也踩了不少,其实最深的坑还是启用插件时提示“插件的配置信息没有找到”,这个具体原因就是因为首次启用插件时,在config()里面获取配置信息,这当然是获取不到的,我们复现一个这个错误。
用砖头敲代码
2022/08/30
1.1K0
SpringBoot引入的依赖为什么没有版本号
在入门springboot的时候我相信很多朋友都有过这样的疑问,为什么spring boot项目在pom文件引入的某些依赖不需要指定版本呢?但是却并不妨碍我们使用或下载jar包 <?xml versi
框架师
2021/03/04
2.8K0
webpack版本问题_webpack查询有没有安装
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169196.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
6530
pycharm pip版本不对_python没有pip
我在pycharm的Terminal中,更新pip的时候,出现了以下错误: OSError: raw write() returned invalid length 2 (should have been between 0 and 1)
全栈程序员站长
2022/11/17
9770
pycharm pip版本不对_python没有pip
jupyter平台最强插件没有之一
jupyter lab是我最喜欢的编辑器,在过往的文章中也给大家介绍过很多相关资源和实用插件,但本文要给大家介绍的jupyter lab插件elyra,绝对是我使用过的最强大的jupyter lab插件没有之一,因为它的核心功能就是帮助我们解决数据分析工作中非常重要的问题——「搭建工作流」。
朱卫军 AI Python
2022/04/03
3670
jupyter平台最强插件没有之一
Alpha 版本的插件管理库和 CLI 工具
我的 Google Summer of Code project 项目试图解决这个问题,方法是创建一个库,该库将在 Jenkins 的不同实现中统一插件管理逻辑,并提供一个可以使用户轻松下载插件并在 Jenkins 启动之前查看插件信息的 CLI 工具。我很高兴分享我们刚刚发布的 Alpha 版本,您可以在此处查看!
LinuxSuRen
2019/10/30
6010
Alpha 版本的插件管理库和 CLI 工具
[git] Git Clean 清除 untrack 没有加入版本库的文件
删除当前目录下所有没有track过的文件. 他不会删除.gitignore文件里面指定的文件夹和文件, 不管这些文件有没有被track过
唯一Chat
2021/08/24
5560
如何更换IDEA上scala插件的版本号并安装合适的版本
最近在学习scala,关于scala的安装并配置环境变量的问题,小伙伴们感兴趣的可以去看看window端安装scala教程。
大数据梦想家
2021/01/26
3.8K0
如何更换IDEA上scala插件的版本号并安装合适的版本
电子商务基本术语
O2O、C2C、B2B、B2C 1、O2O是online to offline分为四种运营模式:
城市中的游牧民族
2019/02/21
1.9K0
wordpress博客怎样安装WP商店没有的插件
这里有三种方法安装,小编这里以Smart SEO Tool插件作为例子好了废话不多说直接上教程。
Hello-1
2022/08/30
3790
wordpress博客怎样安装WP商店没有的插件
WPvSCAN – 扫描WordPress CMS 和插件版本
WPvSCAN 扫描目标网站上的 CMS WordPress 版本,并将其与最新版本进行比较。之后,它还提供了使用Offensive Security 的SearchSploit工具列出所有已知漏洞的选项。
Khan安全团队
2021/07/08
7580
WPvSCAN – 扫描WordPress CMS 和插件版本
使用PrerenderSpaPlugin预渲染插件没有成功渲染
问题 在已有vue项目里使用prerender-spa-plugin插件时,遇到了build出来的页面是白屏或者出现{"statusCode":404,"error":"Not Found"} 解决
mcq
2018/06/20
1.5K0
点击加载更多

相似问题

有没有需要集成的电子商务插件

30

Umbraco有没有好的电子商务扩展/插件?

51

我可以使用安培视频容器与安培-视频在安培故事,即使我没有使用安培旋转木马?安培视频容器是做什么的?

11

插件电子商务,没有一个产品的作者

13

WordPress电子商务插件

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文