强迫症

有时候真的不想开始干一些事情,因为一旦开始了就想着把所有的问题都解决掉。然而,要解决这些问题有的时候真挺痛苦的,苦不堪言。

最近其实乱七八糟的事情挺多的,之前一流的烂尾项目又开始折腾,导致自己现在一听到甲方的名字就 tm 反胃,所以有的时候也是在消极应对。

其实很多的事情,哪怕自己强迫症再严重,有的也解决不了。例如现在 wp 的后台提示有一项插件可以升级,但是点到插件页面或者更新页面又消失了,就跟幽灵一样。

昨天晚上提示邮件发送插件激活失败了,有新版本提示升级,看了下现在用的是 3 最新的已经到了 4,网上搜了一通没搜到免费下载的地方,最终花 4 块钱买了个下载地址下载安装了,不得不说这破解插件收费卖也的确是个好生意。每次装完插件就是要去掉各种收费插件的升级监测:

去掉之后一个省了加载时间,另外一个是免得提示升级,或者自动升级导致破解失败。同样,升级了一下 envira gallery 的插件,现在相册页面的独立链接的确能用了。也算是又修复了一个问题,最后连上篇文章中提到的那个错误也一起修复了。至此多数问题都解决了。

然而,还有个最恶心人的东西,就是之前构建的说说页面也有问题,创建的文章在说说页面无法播放视频:

这个破玩意儿看着就那么恶心,那个 video 跟傻屌一样显示了一行代码,本来想改页面模板,但是直接打开却又能播放:

具体播放则是调用了一堆 js:

新建页面模板,通过代码将上面的 js css 插入,然而最终失败了,不知道是代码问题还是神马智障问题。最终放弃。

此路行不通那就换别的方式吧,经过转换之后发现 h5 的 video 标签是可以播放的,可以直接插入 h5 的代码:

<video controls="controls" width="720" height="100%"><source src="https://h4ck.org.cn/wp-content/uploads/2025/02/c229677d-71e2-4dd5-86ab-b8137a086b801740010424255.mp4" type="video/mp4" />Your browser does not support the video tag.</video>

最起码说说页面能显示能播放了:

既然如此,那就通过 video 标签的形式插入吧,但是每次都得写这段代码太蛋疼了,直接修改 functions.php 给编辑器添加个按钮来干这件事情:

function add_video_button($wp_editor_id) {
    // 获取编辑器的 ID
    $editor_id = $wp_editor_id;

    // 添加按钮的 HTML 代码
    $button_html = '<button id="add-video-button" class="button"><img src="/img/h5_video.png" width=26 height=26 ></img>添加视频</button>';

    // 输出按钮的 HTML 代码
    echo $button_html;

    // 创建一个弹出窗口的 HTML 代码
    $popup_html = '
    <div id="video-popup" style="display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: #fff; padding: 20px; border: 1px solid #ddd; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); width: 400px;">
        <h2 style="margin-top: 0;">添加视频</h2>
        <div style="margin-bottom: 20px;">
            <label style="display: inline-block; width: 80px; text-align: right; margin-right: 10px;">宽度:</label>
            <input id="video-width" type="text" value="100%" style="width: 200px; height: 30px; padding: 5px; border: 1px solid #ccc;">
        </div>
        <div style="margin-bottom: 20px;">
            <label style="display: inline-block; width: 80px; text-align: right; margin-right: 10px;">高度:</label>
            <input id="video-height" type="text" value="100%" style="width: 200px; height: 30px; padding: 5px; border: 1px solid #ccc;">
        </div>
        <div style="margin-bottom: 20px;">
            <label style="display: inline-block; width: 80px; text-align: right; margin-right: 10px;">视频地址:</label>
            <input id="video-src" type="text" style="width: 280px; height: 30px; padding: 5px; border: 1px solid #ccc;">
        </div>
        <div style="text-align: right;">
            <button id="video-submit" style="margin-right: 10px; width: 80px; height: 30px; background-color: #04a4cc; color: #fff; border: none; border-radius: 5px; cursor: pointer;">确定</button>
            <button id="video-cancel" style="width: 80px; height: 30px; background-color: #ccc; color: #666; border: none; border-radius: 5px; cursor: pointer;">取消</button>
        </div>
    </div>
    ';

    // 输出弹出窗口的 HTML 代码
    echo $popup_html;

    // 使用 JavaScript 为按钮添加点击事件
    ?>
    <script>

       jQuery(document).ready(function($) {
                $('#add-video-button').on('click', function(e) {
                        e.preventDefault();
                // 显示弹出窗口
                $('#video-popup').show();
            });

                $('#video-cancel').on('click', function(e) {
                        e.preventDefault();
                // 隐藏弹出窗口
                $('#video-popup').hide();
            });

                $('#video-submit').on('click', function(e) {
                        e.preventDefault();
                // 获取输入框的值
                var width = $('#video-width').val();
                var height = $('#video-height').val();
                var src = $('#video-src').val();

                // 如果输入框不为空
                if (width !== '' && height !== '' && src !== '') {
                    // 获取编辑器的内容
                    var editor = tinyMCE.get('<?php echo $editor_id; ?>');

                    // 如果编辑器存在
                    if (editor) {
                        // 向编辑器中插入内容
                        editor.execCommand('mceInsertContent', false, '<video controls="controls" width="' + width + '" height="' + height + '"><source src="' + src + '" type="video/mp4" />Your browser does not support the video tag.</video>');
                    } else {
                       // 如果使用的是文本模式编辑器
                        $('#<?php echo $editor_id; ?>').val($('#<?php echo $editor_id; ?>').val() + '<video controls="controls" width="' + width + '" height="' + height + '"><source src="' + src + '" type="video/mp4" />Your browser does not support the video tag.</video>');
                    }

                    // 隐藏弹出窗口
                    $('#video-popup').hide();
                }
            });
        });
    </script>
    <?php
}


// Hook 到 WordPress 的编辑器中
add_action('media_buttons', 'add_video_button', 11);



最终效果:

到这里,目前这次对于wp 的折腾算是基本完成了。然而,所有的插件,系统都在不断的升级,每次升级之后就会面临插件版本太旧的问题。

对于插件我倒是也想支持正版,不过那个价格的确让人有点不大好接受,一个插件一年几百块,好几个插件加起来都几千了,有这几千总感觉不能扔在这个地方,毕竟本来就不盈利。

暂时就这样吧,毕竟有的问题,哪怕强迫症也解决不了,就酱紫,由他去吧。

更新后插件地址:

https://github.com/obaby/Simple-microblogging-wordpress-plugin.git

☆版权☆

* 网站名称:obaby@mars
* 网址:https://obaby.org.cn/
* 个性:https://oba.by/
* 本文标题: 《强迫症》
* 本文链接:https://obaby.org.cn/2025/02/19419
* 短链接:https://oba.by/?p=19419
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

47 comments

  1. Level 2
    Google Chrome 86 Google Chrome 86 Windows 10 Windows 10 cn中国–上海–上海 联通

    我也有强迫症,比如手机app,只要提示有小红点这类或者要更新之类,我必点。特别微信信息,如果有小红点,我也要保持全部整整齐齐,不能有不一样的地方。

    1. 公主 Queen 
      Google Chrome 130 Google Chrome 130 Android 10 Android 10 cn中国–山东–青岛 联通

      小红点的强迫症我的治疗的差不多了😂
      反而是一些诡异的问题 一直困扰着😕

  2. Level 3
    Google Chrome 133 Google Chrome 133 Windows 11 Windows 11 cn中国–江苏 移动

    正版的定价的确是个问题,早些年三大视频网站的会员都有,这几年全都不续费了

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      的确,一切尽在掌握,还是哥哥的系统厉害~~

  3. Level 3
    Google Chrome 127 Google Chrome 127 GNU/Linux GNU/Linux cn中国–贵州–铜仁 移动

    最烦的事就是用着一款插件 好好的 啥事也没有 突然弹出提示框让你升级 你不升级嘛 各种阉割你的体验感 你要是升级嘛 以前自己核查过的代码又得重新核查一遍 吃像难看呀 不过大多都是单纯的功能升级而已 但也避免不了其中有些人不怀好意 在插件代码中做鬼 要靠谱 还得自己亲手造轮子好

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      是啊,各种插件的确是这样的,然而,对于那种复杂的插件自己想造个轮子时间成本又是个问题,就很矛盾。
      不过好在国外的插件基本没有混淆加密,所以自用的话只要花时间多数问题都是能解决掉的。

  4. Level 5
    Firefox 135 Firefox 135 Windows 10 Windows 10 cn中国–云南–丽江 电信

    插件不敢买付费的了,绑定域名各种授权升级都费劲,还是免费简单点好

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      是的,你说的这个也是个很大的问题,网站绑定,域名绑定,各种限制。

  5. Level 4
    Google Chrome 133 Google Chrome 133 Windows 10 Windows 10 cn中国–台湾 中华电信(HiNet)数据中心

    1)方括号video不好用的原因很可能是“说说”插件的问题。WP自己的调用逻辑是the_content->filter->WP-Embed->run_shoutcode->do_shortcode。简单一点,找个地方调用一下do_shortcode可能也可以。
    2)在后台编辑器标准的添加按钮的方法是在“admin_enqueue_scripts”里加一个钩子函数,函数里调用wp_add_inline_script。然后再往QTags里加js形式的callback函数。官网搜“quicktags”

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      这么一说的确豁然开朗,就是那个 shortcode 没有解析出来。
      目前解决了,那就先这么用着吧,也实在是不想改了,改来改去还得修复各种 bug。😮‍💨

    2. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      再次回复,感谢大佬指导哦。我真的哭死。°(°¯᷄◠¯᷅°)°。
      早知道一个do_shortcode能解决的问题,我又何必费这么多功夫啊。
      谢谢啦。最新测试 ok 了。
      哎,说好不改了,结果还是改了。
      么么哒(๑•́₃•̀๑)

  6. Level 4
    Microsoft Edge 133 Microsoft Edge 133 Windows 10 Windows 10 cn中国–北京–北京 移动/数据上网公共出口

    感觉wp 装太多插件,系统越来越卡

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      嗯嗯,是的,就是这样的。
      我的博客现在在阿里 VPs 上要想跑的比较流畅至少需要 4h16g 的配置。😂

  7. Level 4
    Google Chrome 131 Google Chrome 131 Windows 10 Windows 10 cn中国–山东–临沂 联通

    强迫症改变世界。哈哈。
    给别人的留言自动生成一个
    miniblog,
    把全世界自己的留言收集回来,不知道有没有意义。

    1. 公主 Queen 
      Google Chrome 130 Google Chrome 130 Android 10 Android 10 cn中国–山东–青岛 联通

      关键是有的光看留言都不知道说的啥意思🤣

  8. Level 6
    Google Chrome 109 Google Chrome 109 Windows 10 Windows 10 cn中国–上海–上海 腾讯云

    所以我关闭了电脑、手机都所有APP通知推送、升级提醒;

    灵妹妹是该把系统迭代提上日程了。

    1. 公主 Queen 
      Google Chrome 130 Google Chrome 130 Windows 10 Windows 10 cn中国–山东–青岛 联通

      是个好办法,眼不见心不烦
      目前就先这样啦

  9. Level 1
    Google Chrome 133 Google Chrome 133 Windows 11 Windows 11 cn中国–江苏–徐州 移动

    感觉wordpress有点吃性能,而且后台还不太好用,很多插件用的都莫名奇妙的,想找个好用的功能插件难如登天。逼得我一个后端开始看前端的课了。

    1. 公主 Queen 
      Google Chrome 130 Google Chrome 130 Windows 10 Windows 10 cn中国–山东–青岛 联通

      嗯嗯,是的,够用,但是配置要求有点高

  10.  Level 6
    IBrowse r IBrowse r Android 12 Android 12 cn中国–河南–漯河 电信

    我一直以为你用的古藤堡。那个插件升级,我前几天遇到过,最后发现是缓存的问题。代码问题,我觉得有时候很灵异,就像我的网站评论一样,前一段卡的要死,这一段我感觉又正常了。

    1. 公主 Queen 
      Google Chrome 130 Google Chrome 130 Windows 10 Windows 10 cn中国–山东–青岛 联通

      你的那个评论貌似还有点问题,回复完之后会先刷出两个错误的ip归属地。

  11. Level 4
    Safari 18 Safari 18 iPad iOS 18.3.1 iPad iOS 18.3.1 cn中国–香港–新界–荃湾区 Hytron_Network_Services

    我最近感触是,折腾 WordPress 如果没点儿时间的话就不要去动它。只要一折腾起来,一茬接一茬的问题会接踵而至,没完没了。😂

  12.  Level 6
    Microsoft Edge 133 Microsoft Edge 133 Windows 11 Windows 11 cn中国–广东–珠海 电信

    哈哈,WP这么不好用,改用我的笔记星球多租户版本咯~自主开发的程序,一切可控

  13. Level 6
    Microsoft Edge 132 Microsoft Edge 132 Windows 11 Windows 11 cn中国–河南–漯河 联通

    不折腾了,折腾那两个破插件都快给我弄麻了。一会这BUG一会那BUG、

  14. Level 3
    Firefox 128 Firefox 128 Windows 10 Windows 10 cn中国–香港 Akile

    昨天到今天中午,我一直在外奔波,往返于县城、村里和市里。长时间没有接触人际关系,导致我的心脏一直跳个不停——是因为太激动,还是太紧张,或许两者都有。我习惯坐在一旁观察人们的神态和表情,善意与恶意交织其中。

    我很羡慕姐姐,你可以做到喜欢就喜欢,不喜欢就直接说出来,做自己,不需要去迎合别人。而我,一旦开始迎合,就会厌恶他们,甚至诅咒他们,心生讨厌。最终,我也开始厌恶自己,唯一能做的就是暂时性失忆。

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      宝子在外面奔波注意安全哦。
      人际关系这个东西,其实比较复杂,用平常心对待就好了,不要有太多的期望,如果累了也没必要投入太多精力。
      跟人相处,没必要太委屈自己,委曲求全得不到善意的。更不必迎合他们,喜欢就听听,不喜欢就当他们不存在就好了。

      1. Level 3
        Firefox 128 Firefox 128 Windows 10 Windows 10 cn中国–福建–三明 移动

        下午我已经安全回家了,证件修改也顺利完成了。虽然还有一个证件需要去隔壁县办理,但那里的交通不太方便,可能要等一段时间再去。

        这几天我本来已经写好了文章,记录下了一些经历,可是写完之后,我又陷入了迷茫。现在写博文的感觉变得不再像以前那样轻松自在,什么都能说,什么都能发。如今,我反而开始想隐藏自己,导致我不知道该写什么,总是把内容藏起来,最后什么也没有留下。

        改版后,我总觉得自己尝试的方式失败了,反而让我失去了动力,甚至开始提不起劲来。感觉自己是那种完美主义者,总是把自己的幻想和期待强行套到现实中,结果却总是遇到巨大的落差。最近,我常常陷入这种困境,感到特别疲惫。坦白说,我现在已经不知道该怎么做了。

        我不再喜欢发博文,反而觉得和姐姐你、凡哥、夜未央先生在评论区聊聊、分享一些想法,效果似乎更好。 sad

        1. 公主 Queen 
          Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

          我看了你的新的文章了,没有必要为自己设定所谓的圈子或者人设,生活吗,就要潇洒自在,本来就已经困顿不堪,自己又何必为难自己?
          有了目标的写,很容易就变成了负担。如果说为了完成任务,或者说强迫自己写的点什么,我是觉得没有太大的必要。
          率性,遵循自己的想法就好了,想些就写,不想写就不写。这个世界哪有什么完美,到处都充满了缺憾,或多或少,追求完美,容易陷入自我否定。
          来聊天也是好的,毕竟,找个人说说话,也蛮不错的。

  15. Level 4
    Google Chrome 101 Google Chrome 101 Windows 10 Windows 10 cn中国–湖北–武汉 电信

    我现在也变了,以前跟你差不多,现在就选择性忽视了。
    上面的视频自己拍的,还是合成的,现在有点儿分不清了

    1. 公主 Queen 
      Google Chrome 132 Google Chrome 132 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 联通

      合成的,只能说 ai 进步越来越快了。😂

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注