分类: 精选插画

精选插画-更多插画等你来看

  • 【超级今日头条】高仿今日头条超级今日头条带手移动端商业版(GBK+UTF)网站模板头条资讯源码 清新简洁的页面布局,简单易上手的设置,有兴趣的可以搭建起来看看

    本风格含手机版,清新简洁的页面布局,简单易上手的设置,即使您是新手,下载并按照使用说明设置,几分钟就能搞定。安装了此应用,电脑版手机版都有了。一套价值600元的超级今日头条含手机Discuz模板,不会安装Discuz模板的谨慎下载(不提供技术支持)。

  • 鼠标精灵4.0.2.7_可后台运行

    回放时,你还可以做其他事,可以上上网聊聊天(其他键盘精灵都是控制整个电脑,就只能看着回放,不能做任何事了,可能也有,至少我没找到)

    特别简单,就2个功能,录与放,就是为了做简单的事,同常我们就需要简单功能

    功能局限:

    只记录鼠标,不记录键盘

    简简单单、不抢占电脑,这是本软件的开发目的,想要强大的功能请找其他的软件

    使用说明:

    点“录制”,就记录你用鼠标对窗口的操作

    点“回放”,将你录制的鼠标动作重复地对窗口操作

  • 给B2 Pro主题文章创建内容目录

    文章目录是 WordPress 文章的必要组成部分,尤其是带有许多标题的长文章。创建目录有助于读者轻松快速地遵循和掌握想法。此外,它还可以帮助您在文章中添加更多关键字,这对 SEO 非常有利。

    创建文章目录的方法

    有两种方法可以在 WordPress 文章中创建目录。

    第一种方法是使用插件。这对 WordPress 的代码专家和新手来说都是简单、快速且免费的。

    第二个是使用代码。这样您可以自定义目录,即使是最小的细节,但对于非编码人员来说却非常复杂。我们将在这篇文章中写下创建目录的代码,只需复制并粘贴它!

    给B2 Pro主题文章创建内容目录-幂构社区

    使用插件创建目录的过程本文不再赘述,百度一大堆;本文主要针对B2主题的纯代码方法

    第1步 :为文章创建目录

    打开主题functions.php文件或者在网站后台转到外观>主题>编辑器>functions.php。

    然后,将以下代码添加到functions.php文件中。

    function create_mg($html) {
        $mg = '';
        if (is_single()) {
            if (!$html) return $html;
            $dom = new DOMDocument();
            libxml_use_internal_errors(true);
            $dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
            libxml_clear_errors();
            $mg = '<div class="mg-bound"><div class="mg-bound__hover-block"><i class="b2font b2-file-list-2-line"></i><p>目录</p></div><ul class="mg-bound__popover">';//向目录添加标题并将其显示在此之上。您可以将文本“目录”替换为您希望在标题中出现的任何内容。
            $h2_status = 0;
            $h3_status = 0;
            $i = 1;
            foreach($dom->getElementsByTagName('*') as $element) {
                if($element->tagName == 'h2') {
                    if($h3_status){
                        $mg .= '</ul>';
                        $h3_status = 0;
                        }
                     if($h2_status){
                        $mg .= '</li>';
                        $h2_status = 0;
                      }
                      $h2_status = 1;
                      $mg .= '<li><a href="' . get_the_permalink() . '#mg-' . $i . '">' . $element->textContent . '</a>';//单击后立即创建指向文章中相应部分的跳转链接。
                      $element->setAttribute('id', 'mg-' . $i);
                      $i++;
                }elseif($element->tagName == 'h3') {
                    if(!$h3_status){
                        $mg .= '<ul class="mg-sub">';
                        $h3_status = 1;
                    }
                    $mg .= '<li><a href="' . get_the_permalink() . '#mg-' . $i . '">' . $element->textContent . '</a></li>';
                    $element->setAttribute('id', 'mg-' . $i);
                    $i++;
                }
            }
            if($h3_status){
                $mg .= '</ul>';
            }
            if($h2_status){
                $mg .= '</li>';
            }
            $mg .= '</ul></div>';
            $html = $dom->saveHTML();
        }
        return $mg . $html;//在目录中的每个标题前添加项目符号。
    }
    add_filter('the_content', 'create_mg');

    注意:此代码仅将 2 个标题级别 h2、h3添加到目录中。

    不要忘记单击更新/保存文件。

    结果如下:

    给B2 Pro主题文章创建内容目录-幂构社区

    当然,我们需要稍微设计一下。

    通过CSS定制,访问主题编辑器的style.css文件。在那里,您需要插入您自己编写的代码以根据需要自定义。

    比如我想自定义目录的颜色和强度,所以插入如下代码:

    .mg-bound {
        height: 108px;
        box-shadow: 0 2px 8px rgb(0 0 0 / 10%);
        color: #fff;
        position: fixed;
        left: 0;
        font-size: 14px;
        text-align: center;
        z-index: 999999;
    }
    .mg-bound__hover-block{
        border: none !important;
        position: absolute !important;
        left: 0;
        z-index: 100;
        padding: 0 !important;
        width: 40px;
        height: 108px;
        border-top-right-radius: 4px;
        border-bottom-right-radius: 4px;
        color: #fff;
        background-color: #0066ff;
    }
    .mg-bound__hover-block i{
        margin-top: 10px;
        display: block;
        font-size: 22px;
    }
    .mg-bound__hover-block p{
        width: 28px;
        margin-left: 6px;
        font-size: 16px;
        text-align: center;
    }
    .mg-bound__popover{
        position: absolute !important;
        left: 0;
        top: 0;
        width: 200px !important;
        min-height: 108px !important;
        padding: 8px !important;
        padding-left: 40px !important;
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
        overflow: hidden;
        border-bottom: none !important;
        transform: translateX(-200px);
        -ms-transform: translateX(-200px);
        -webkit-transform: translateX(-200px);
        transition: all .3s;
        background-color: #0066ff;
        text-align: left;
        font-size: 12px;
    }
    .mg-bound__popover li {
        border-left: 2px solid #000;
        padding: 4px;
    }
    .mg-bound:hover .mg-bound__popover{
        display: block;
        transform: translateX(0);
        -ms-transform: translateX(0);
        -webkit-transform: translateX(0);
        transition: all .3s;
    }

    总之,使用插件和编码都为我们提供了相同的漂亮目录。只要您满意,您可以选择任何方式。

    最后说一句

    如您所见,在 WordPress 文章中创建目录并不复杂。按照我们的教程,您将拥有漂亮的目录。一个好的目录让你的文章更清晰、更专业。因此,您的观众在阅读您的博客时可能会有更友好的体验。

    本教程原则上适用于所有主题

  • 免费全能视频转换器 VidCoder 7.13 绿色中文版

    VidCoder软件介绍:

    VidCoder是一个开源免费的视频转换器,使用HandBrake作为它的转换引擎,所以你会发现2者功能、界面、使用方式都很类似。

    VidCoder几乎支持把所有常见的视频格式或者CD、DVD、蓝光DVD中的视频转换到mp4、mkv格式,是个非常好用的视频转换软件。

    VidCoder支持所有常见的windows操作系统,官方默认就带有简体中文语言,直接提供绿色版。

    如果不能够运行的话,说明你系统上没有安装.net 4.5+的运行库,VidCoder也会直接提示你,安装后就可以运行了。

    这个视频转换软件的使用非常简单,只需要在主界面中从上到下点击几次按钮就可以开始转换了。

     

    VidCoder使用教程:

    1、【来源:】处添加需要转换的视频文件。

    2、【视频:】处选择【时间范围】,那么你就可以通过修改时间只转换部分视频了,也就是视频裁剪功能。

    3、【音频:】默认添加第一条音轨,如果你想要转换后的视频带有多条音轨,那么点击后面的【新增音轨】按钮,就可以添加视频源文件中的其他音轨了。

    4、【字幕:】默认不添加,点击【编辑】按钮就可以添加视频源文件中自带的多条字幕了,并且请勿勾选【嵌入】,不然字幕就会直接“刻录”到视频画面上。

    5、选择保存路径。

    6、【编码:】处点击【设置】就可以调节转换参数了,虽然支持转换到mp4和mkv,但建议转换到mkv格式,因为mkv是一个视频容器,上次HandBrake绿色版一文中已经说明,当然你也可以查询mkv的百科进一步了解。

     

    VidCoder转换设置中包含的功能很多,比如视频尺寸、视频画面裁切、视频旋转、视频滤镜都可以调整,常见的视频编解码器、音频编解码器、帧率、比特率、质量、声道数都可以调节,调节完毕之后还可以把这些更改过的设置保存成方案,下次转换前只需要选择这个方案就不要再次重复设置了。

    需要注意的是,如果你添加了多条音轨,那么默认只有第一条音轨的转换选项,如果调节其他音轨的转换参数,请点击【编码:】-【设置】-【音频编码】-【添加音频编码】按钮。

    如果你想要批量转换视频的话,也只需要使用队列功能即可。

    [content_hide]

    VidCoder下载地址:

    https://wwu.lanzout.com/iVfaI01a3xqj

    密码:7gsc

    [/content_hide]

    免费全能视频转换器 VidCoder 7.13 绿色中文版

     

  • 智能修复老照片免费软件v1.1.0.0 最新版

    智能修复老照片免费软件,专业的照片处理软件,精确识别照片,ai智能修复,在线修图更轻松。软件还支持证件照制作、图片编辑等功能,让图片处理修复更轻松。

    智能修复老照片免费软件v1.1.0.0 最新版

    软件介绍
    智能修复老照片是一款专业的照片修复软件,功能强大,支持老照片修复、黑白照片上色、模糊人脸修复、图片编辑等功能,精准识别,AI智能修复,一站式修图,界面简洁,操作简单。
    功能介绍
    – AI无损修复老照片
    基于领先的智能AI修复技术,对老照片进行细节填充,重建高清无损的图片,无损高清还原老照片,修复斑驳痕迹
    – 高度还原场景色彩
    使用人工智能技术来修复图片,用AI技术去修复画面泛黄模糊的老旧黑白照片,高度还原符合照片场景的颜色,让黑白照秒变彩色照
    – 智能修复模糊人脸
    智能补充各个细节,针对面部高清还原,自动识别人脸五官,并对其进行降噪处理,重建降噪还原出高清晰度的照片
    – 批量高清处理图片
    一次性可对30张图片进行批量枢图操作,让您摆脱繁琐的操作步骤,批量处理增加高质量图片产出,一键换背景、改尺寸更显人性化
    – 高精度发丝级枢图
    快速识别图片中需要保留的主体,去除多余背景,枢图精度十分高,细致到每一处发丝,细节处理不含糊,让枢图更加简单便捷
    – 一键更换背景颜色
    更换证件照底色再也不用奔波于照相馆,软件内置大量纯色背景,让您轻松应对各种底色要求,自由变换,快速对底色的更换
    常见问题
    如何把模糊的老照片变清晰?
    一般来说,比较直接的方式,是通过PS这类专业的修图软件来一点点地进行修复,尽可能还原照片本来的清晰度。但是这样做不仅繁琐,而且对PS技术要求很高。今天就教大家一个运用AI智能技术自动修复照片的小技巧,无需手动修图,PS小白也能轻松搞定!

    智能修复老照片免费软件v1.1.0.0 最新版

    使用工具:智能修复老照片

    这是一款运用AI智能技术来修复老照片的软件,支持修复模糊照片、给黑白照片上色、抠图换背景等智能技术。其中的“老照片修复”功能,可以自动地对图片进行修复,把模糊的老照片变得更加清晰,非常方便。

    立即下载

    操作步骤

    1.首先,打开软件,选择“老照片修复”功能。

    智能修复老照片免费软件v1.1.0.0 最新版

    2.在打开路径里找到老照片所在的文件夹,选择照片并点击打开。

    智能修复老照片免费软件v1.1.0.0 最新版

    3.照片打开之后,软件的AI技术就会对照片进行画质修复、还原清晰度,并且还会对黑白照片进行自动上色。

    修复完成后,我们可以直接查看图片的修复效果,并且和原图进行对比。如果觉得效果还不错,那么点击“下载保存”。

    智能修复老照片免费软件v1.1.0.0 最新版

    4.保存之前可以自由选择图片的保存格式和保存位置。

    设置好之后,直接保存,图片就修复完成了。怎么样,是不是很简单?

    智能修复老照片免费软件v1.1.0.0 最新版

    注意事项:

    1. 如果你的照片本身是彩色的,不需要上色,只需要修复模糊的照片画面,那么可以选择“模糊人脸修复”功能进行修复,就不会导致重复上色了。

    智能修复老照片免费软件v1.1.0.0 最新版

    2. 在修复老照片之前,要确保照片已经摆在一个正确的角度,避免出现照片翻转的情况。如果照片翻转了,需要提前把照片旋转到正向再修复,效果更好。

    3. 有些照片是有白边、相框,或者边缘位置有一些其它的无关内容,对修复没有帮助的,我们可以先对照片进行裁剪,去除边缘,提高照片修复的效率。

    以上就是关于如何把模糊的老照片变清晰的小技巧了,只要把照片导入到软件里,剩下的就交给AI技术帮你修复吧!

  • 剪映模板达人运营课,申请+运营+剪辑全套视频课程

    课程目录:

    1、【模板】-什么是剪映模板

    2、【模板】-剪映模板达人申请通道

    3、【模板】-剪映模板如何获得收益

    4、【模板】-如何快速成为模达人

    5、【模板】-如何制作模板

    6、【模板】-模板如何完成新手任务

    7、【模板】-如何提高模板达人等级

    8、【模板】-抖音作品如何关联模板

    9、【模板】-如何发布纯背景模板

    10、【模板】模板为什么一直在审核中

    11、【模板】如何提高模板使用量

    12、【模板】模板为什么提示要修改

    13、【模板】模板制作需要注意的事项

    14、【模板】如何正确发布模板[勾选内容]

    15、【模板】模板发布应该避开的坑

    16、【模板】如何定位自己的模板

    17、【模板】模板素材从哪里来

    18、【模板】模板标题命名有讲究

    19、【模板】如何寻找热门模板

    20、【模板】如何无伤去水印

    链接:https://pan.baidu.com/s/1Y7zjvYznip7oU-VxwQu31g

    提取码:48hf

  • url采集 t00ls专版

    url采集 t00ls专版

  • 抖音短视频批量采集下载工具 电脑版

    一键保存该账号主页下的所有视频

    【抖音采集工具Gui版】

    ★软件下载解压后直接使用,免费无广、功能强大

    下面是软件的主界面,看上去有些简单?

    (其实一点不简单[大拇指])

    ★打开选项设置之后,可以更改的选项还是挺丰富的,动态封面和音频也可以下载哦。

    【抖音采集使用方法】

    ★打开{抖音}找到需要收集的视频主的账号界面,点击分享,把视频主的主页链接复制过来,粘贴到软件,点击新建采集,然后就能看到需要采集的具体视频信息:作者 ID,昵称,作品文案, 时长宽高清晰度等等,双击还可以播放,使用起来的步骤比较完善。

    抖音短视频批量采集下载工具 电脑版

    ● 可以采集某作者所有作品(含作者喜欢作品)、单个视频作品、某话题挑战下指定数量作品、使用某音乐的指定数量作品、某合集的指定数量作品。

    ● 主要是为了便于作品下载的管理进行了分别保存,同时检测作者、话题挑战、音乐、合集的作品的更新,有新作品时仅下载新作品。

    ● 可边采集边下载,也可采集完毕再选择下载,下载列表可有选择地保存为Excel,下次可直接导入再进行下载。

    ●就连作者喜欢的视频也可以关联下载,视频的话题挑战和合集这些也可以指定,时间范围也可以控制,还有下载进度保存,还能导出为 Excel 表格,确实考虑得很周到

    抖音短视频批量采集下载工具 电脑版

    之后就会出现在采集列表,可以同时添加多个不同的任务,点击采集之后就可以开始下载,下载速度也是非常嘎嘎快。

    嘎嘎滴一下子就把所有视频下载好了[滑稽]

    所以,软件上面的这个勾要记得去掉,需要的时候可以在再打开!

    下载之后的视频,这些文件夹的格式也让人极度舒适,方便寻找.

    不只有账号的头像和粉丝数量简介等信息,文件还按照视频的年份,季度,分类得整整齐齐。

    下载的文件名字也不是一堆奇怪的命名,附带上了视频作者上传时填写的信息。

    抖音短视频批量采集下载工具 电脑版抖音短视频批量采集下载工具 电脑版

  • 7b2友链申请表页面

    js不是wordpress通用,js仅用于7b2pro主题,因使用7b2js函数,其他主题可以更改Ajax,传输token。

    提交页面HTML代码:

    分类是自动获取网站的链接分类,可以改代码自定义设置。

    <?php
    get_header();
    $cats = get_terms('link_category');
    ?>
    <div id="vips">
        <div v-if="b2token" data-name="xutian" v-cloak>
            <div style="margin-top: 80px;margin-bottom:80px;display:flex;justify-content:center;" class="containers">
                <div class="content content-link-application">
                    <div class="form-header">
                        <h1>友链申请</h1>
                        <br />
                        <p>您可以通过提交下面的表单贵站相关信息。</p>
                    </div>
                    <div class="wb-form contact-form nice-validator n-default">
                        <div class="mt20">
                            <div class="form-group">
                                <label>
                                    <font color="red">*</font>站点名称:
                                </label>
                                <input type="text" size="40" v-model.trim="link_name" class="form-control" placeholder="输入您的网站名称" autocomplete="off" />
                            </div>
                            <div class="form-group">
                                <label>
                                    <font color="red">*</font>站点地址:
                                </label>
                                <input type="text" size="40" v-model.trim="link_url" class="form-control" placeholder="输入您的网站地址" autocomplete="off" />
                            </div>
                            <div class="form-group">
                                <label>站点简介:</label>
                                <input type="text" size="40" v-model.trim="link_description" class="form-control" placeholder="输入您的网站简介" autocomplete="off" />
                            </div>
                            <div class="form-group">
                                <label>站点Logo:</label>
                                <input type="text" size="40" v-model.trim="link_image" class="form-control" placeholder="请输入您的Logo链接地址" autocomplete="off" />
                            </div>
                            <div class="form-group">
                                <label>其他备注:</label>
                                <textarea class="check-textarea" style="min-height:200px;width:100%;padding:10px;" placeholder="输入备注" size="40" v-model.trim="link_notes"></textarea>
                            </div>
                            <div class="form-group">
                                <label>
                                    <font color="red">*</font>站点分类:
                                </label>
                                <br />
                                <select class="check-textarea" v-model.trim="link_category">
                                    <option value="">请选择链接分类</option>
                                    <?php
                                    foreach ($cats as $cat) {
                                        echo '<option value="' . $cat->term_id . '">' . $cat->name . '</option>';
                                    }
                                    ?>
                                </select>
                            </div>
                            <div style="text-align:center">
                                <input type="hidden" value="send" />
                                <button class="btn-primary" @click="showWindow()" v-cloak>提交</button>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div v-else id="main" v-cloak>
            <div style="margin-top:80px;display:flex;justify-content:center;" class="containers">
                <div class="content content-link-application">
                    <div class="form-header">
                        <h1>友链申请</h1>
                        <br />
                        <p style="font-size:15px;">请登录后再试</p>
                        <br />
                        <div>
                            <button @click="login()">立即登录</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    </div>
    <?php
    get_footer();

    提交页面CSS代码:

    .content-link-application{
    	padding: 60px 40px;
    	background-color: #fff;
    	border-radius: 5px;
    	width: 800px;
    	-webkit-box-shadow: 0 7px 8px 0 rgba(0,0,0,.11);
    	box-shadow: 0 7px 8px 0 rgba(0,0,0,.11)
    }
    .content-link-application .form-control
    {
    	height: 38px;
    	width: 100%
    }
    .content-link-application .captcha-img,.content-link-application .captcha-input
    {
    	display: inline-block;
    	vertical-align: middle
    }
    .content-link-application .form-header
    {
    	max-width: 600px;
    	margin-left: auto;
    	margin-right: auto;
    	padding-bottom: 40px
    }
    .content-link-application .form-header p
    {
    	color: #999;
    	font-size: 12px;
    	margin: 0;
    }
    .content-link-application h1
    {
    	font-size: 30px;
    	line-height: 44px;
    	font-weight: 700
    }
     .content-link-application .form-control{height:38px;width:100%}
     .content-link-application .captcha-img,.content-link-application .captcha-input{display:inline-block;vertical-align:middle}
     .content-link-application .contact-form{max-width:600px;margin-left:auto;margin-right:auto}
     .content-link-application .form-header{max-width:600px;margin-left:auto;margin-right:auto;padding-bottom:40px;text-align:center}
     .content-link-application .form-header p{color:#999;font-size: 12px;margin: 0;}
     .content-link-application h1{font-size:30px;line-height:44px;font-weight:700}
     
     .form-group
    {
    	margin-bottom: 15px
    }
    .content-link-application .form-control
    {
    	height: 38px;
    	width: 100%
    }
    .btn.btn-default
    {
    	color: #333;
    	background-color: #fff;
    	border-color: #ccc;
    	outline: 0;
    	-webkit-transition: all .1s ease-out 0s;
    	-o-transition: all .1s ease-out 0s;
    	transition: all .1s ease-out 0s
    }
    .container,.page-no-sidebar.member-lostpassword .member-lp-process
    {
    	margin-right: auto;
    	margin-left: auto;
    	padding-left: 10px;
    	padding-right: 10px
    }

    提交页面JS代码:

    var xutianlinks = new Vue({
        el: '#vips',
        data: {
            link_name: '',
            link_url: '',
            link_description: '',
            link_category: '',
            link_image: '',
            link_notes: ''
        },
        methods: {
            login() {
                login.show = true
            },
            showWindow() {
                if (!b2token) {
                    Qmsg['warning']('请登录后提交', { html: true });
                } else {
                    if (this.link_name.length <= '0') {
                        Qmsg['warning']('请输入您的网站名称', { html: true });
                    } else if (this.link_url.length <= '0') {
                        Qmsg['warning']('请输入您的网站地址', { html: true });
                    } else if (this.link_category.length <= '0') {
                        Qmsg['warning']('请选择站点分类', { html: true });
                    } else {
                        this.$https.post(b2_rest_url + 'xutian_api_link', 'link_name=' + this.link_name + '&link_url=' + this.link_url + '&link_description=' + this.link_description + '&link_category=' + this.link_category + '&link_image=' + this.link_image + '&link_notes=' + this.link_notes).then(res => {
                            if (res.data.status == 200) {
                                Qmsg['success'](res.data.msg, { html: true });
                                location.reload();
                            } else if (res.data.status == 401) {
                                Qmsg['info'](res.data.msg, { html: true });
                            }
                        }).catch(err => {
                            Qmsg['info'](err.response.data.message, { html: true });
                        })
                    }
                }
            }
        },
    })

    后端处理PHP代码:

    请将下方代码放入functions.php文件中

    <?php
    add_action('rest_api_init', function () {
        register_rest_route('b2/v1', '/xutian_api_link/', array(
            'methods' => 'POST',
            'callback' => function ($request) {
                $user_id = get_current_user_id();
                $xutian_api_link = get_user_meta($user_id, 'xutian_api_link', true);
                if (!$user_id) {
                    return new \WP_Error('b2_login', __('请先登录', 'b2'), array('status' => 403));
                } else if ($xutian_api_link) {
                    return new \WP_Error('xutian_api_link', __('您已提交,请勿重复提交', 'b2'), array('status' => 403));
                } else if ($request['link_name'] && $request['link_url'] && $request['link_category']) {
                    return api_link($request, $user_id);
                } else {
                    return new \WP_Error('user_error', __('请输入必填项', 'b2'), array('status' => 403));
                }
            },
        ));
    });
    function api_link($request, $user_id)
    {
        $link_url = isset($request['link_url']) ? trim(sanitize_text_field(htmlspecialchars($request['link_url'], ENT_QUOTES))) : '';
        $link_name = isset($request['link_name']) ? trim(sanitize_text_field(htmlspecialchars($request['link_name'], ENT_QUOTES))) : '';
        $link_image = isset($request['link_image']) ? esc_url($request['link_image']) : '';
        $link_category = isset($request['link_category']) ? trim(sanitize_text_field(htmlspecialchars($request['link_category'], ENT_QUOTES))) : '';
        $link_description = isset($request['link_description']) ? trim(sanitize_text_field(htmlspecialchars($request['link_description'], ENT_QUOTES))) : '';
        $link_notes = isset($request['link_notes']) ? trim(sanitize_text_field(htmlspecialchars($request['link_notes'], ENT_QUOTES))) : '';
        if ($user_id and $link_name and $link_url and $link_category and $link_description = $link_name) {
            $linkdata = array(
                'link_name' => '【待审核】' . $link_name,
                'link_url' => $link_url,
                'link_image' => $link_image,
                'link_category' => $link_category,
                'link_notes' => $link_notes,
                'link_description' => $link_description,
                'link_target' => '_blank',
                'link_visible' => 'N'
            );
            require_once(ABSPATH . 'wp-admin/includes/bookmark.php');
            $xutian = wp_insert_link($linkdata);
            update_user_meta($user_id, 'xutian_api_link', true);
            if ($xutian) {
                return array('status' => 200, 'msg' => '提交成功,待审核');
            } else {
                return new \WP_Error('user_error', __('提交失败,请联系管理员', 'b2'), array('status' => 403));
            }
        } else {
            return new \WP_Error('user_error', __('提交失败,请完善资料', 'b2'), array('status' => 403));
        }
    }

    因防止恶意重复提交,代码中写入了

    update_user_meta($user_id, ‘xutian_api_link’, true);,get_user_meta($user_id, ‘xutian_api_link’, true);

    判断,所以用户只能提交一次,删除这个代码就可以无限提交了,或自己改判断提交次数等。

  • WPS 2019 某企业内部版全功能,无删减

    主要特点:
    1、全功能,无删减,有无网络都可使用。安装包三百多兆,建议先转存再下载。
    2、直接安装、自动激活。
    3、无广告、无推荐、干净清爽。
    4、许可有效期到2025年,可长期使用。
    5、版本号:11.8.2.10972