首页
wjlink
投稿
视频
直播
壁纸
更多
留言
统计
LINK
Search
1
宝塔面板绑定域名套上cloudflare – 实现cdn访问拯救你的IP
110 阅读
2
Python 爬取YouTube某个频道下的所有视频信息
110 阅读
3
为你的 WordPress 站点配置 Telegram Instant View
63 阅读
4
苹果CMS(MACCMS)如何在标题中随机插入关键词
60 阅读
5
windows 使用 FFmpeg 按大小或时间来批量分割视频
59 阅读
技術類
自媒体
調查
问卷调查
美國站
英國站
注册丨登录
Search
标签搜索
wordpress
V2Ray
vps
苹果cms
面板
php
宝塔
ipfs
DD
脚本
语言
上传
判断
Youtube
cdn
ip
AI
HTML
1
2
Gengre
累计撰写
67
篇文章
累计收到
0
条评论
今日撰写
0
篇文章
️
首页
分类
技術類
自媒体
調查
问卷调查
美國站
英國站
页面
wjlink
投稿
视频
直播
壁纸
留言
统计
LINK
登录丨注册
搜索到
53
篇与
的结果
2021-08-20
wordpress主循环显示文章列表不同样式的方法
假如我们选择首页显示最新文章,并且:第一篇文章显示摘要,后面的只显示标题。。。还有第一篇文章显示广告之类的。。。那么如何利用循环控制呢?1、首页显示文章的代码一般都是:<?php if (have_posts()) : ?> <!--检查是否有文章如果有,继续执行,没有就跳到 else 那里--> <?php while (have_posts()) : the_post(); ?> <!--开始准备文章内容,开始循环,每次循环输出一篇文章--> 此处显示文章内容或标题之类的。。 <?php endwhile ; ?> <!-- while 循环结束--> <?php else : ?> 此处显示未找到文章时的信息,比如404相关 <?php endif ; ?> <!-- if 结束-->2、要想精确的控制每篇文章,我们先在循环前定义一个变量 $ashu_i=1 来计数,变量名随便,然后每循环一次,$ashu_i加1,例子我把index.php中的代码改成下面的--<?php if (have_posts()) :$ashu_i=0;?> <?php while (have_posts()) : the_post();$ashu_i++;?> <?php echo "这是第 $ashu_i 篇文章:<br/>";?> <?php the_title();?> <?php echo "<hr>"; <?php endwhile; ?> <?php else : ?> 此处显示未找到文章时的信息,比如404相关 <?php endif; ?>上面的例子就给每篇文章来了个简单控制。3、具体要想让第一篇文章显示摘要,而余下的显示标题--代码:<?php if (have_posts()) :$ashu_i=0;?> <!--检查是否有文章,并定义计数变量初始值为0 --> <?php while (have_posts()) : the_post();$ashu_i++;?> <!-- 开始循环,第一次循环$sahu_i为1,第二次为2,依次。。 --> <?php if($ashu_i==1){?> <!-- 如果是第一篇文章 --> <?php the_content();}else{?> <!-- 显示内容 --> <?php the_title();}?> <!-- 如果不是第一篇显示标题 --> <?php endwhile; ?> <!-- 一次while循环结束 --> <?php else : ?> <!--如果没有文章--> 此处显示未找到文章时的信息,比如404相关 <?php endif; ?> <!--if结束 -->
2021年08月20日
5 阅读
0 评论
0 点赞
wordpress
2021-08-20
如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章
前段时间在知更鸟那看到一个非常有趣的事,他博客首页中文章列表处的第一篇文章居然是个广告,点击以后不是进入他博客的文章页,而是跳到了一个广告页面,欺骗性简直逆天了!随之而来的广告点击量可想而知了~通常我们想达到这样的效果的话,就需要设置一个额外的广告位(方法见下面的额外补充 1),如果你想放在不同的地方的话(如,首页的不同结构中或侧边栏的不同结构中),则需要将各个广告位的结构调成与它们一样才行....昨天,在胖子马博客发现了一个非常完美的方法,操作起来远没有上面描述的这样复杂!可以在文章列表中的任意位置插入一篇或多篇广告跳转文章,完美的与主题结构融合,与主题列表的展现形式一模一样,不用去额外的改变任何结构!而且可以一键无痕的将发布的任何文章变成广告跳转文章!实现过程非常简单,利用了 wordpress 强大的自定义字段~首先,打开主题文件 functions.php,粘贴下面的代码到里面:/** * 如何在 WordPress 文章列表中完美的插入一篇或几篇广告跳转文章 * https://www.ilxtx.com/link-to-some-external-ressource-naturally.html */ function lxtx_post_link() { global $post; $thePostID = $post->ID; $post_id = get_post($thePostID); $title = $post_id->post_title; $perm = get_permalink($post_id); $post_keys = array(); $post_val = array(); $post_keys = get_post_custom_keys($thePostID); if (!empty($post_keys)) { foreach ($post_keys as $pkey) { if ($pkey=='url1' || $pkey=='title_url' || $pkey=='url_title') { $post_val = get_post_custom_values($pkey); } } if (empty($post_val)) { $link = $perm; } else { $link = $post_val[0]; } } else { $link = $perm; } echo $link; }再把主题中输出文章固定链接地址的函数:the_permalink() 替换为我们上面自定义的这个函数:lxtx_post_link() 即可!最后,当你要将文章链接到博客之外的页面时,只要在这篇文章中创建自定义字段url1或title_url或url_title ,再输入外部 URL 地址作为值就可以了。完成这个操作后,当你发表一篇文章时,系统会查找字段url1或title_url或url_title的值,如果找到,那么就会直接链接到外部站点而不是本博客文章;如果没有找到自定义字段值,就会简单地显示链接本身。如下图,图中的这篇“测试文章”的链接就是指向外链的!你看不出来吧~~{callout color="#f0ad4e"}友情提示:1.可以把多篇文章变为广告跳转文章哦,而且通过调节时间,可以在任意位置显示。 这样访客在浏览你的文章时,肯定想不到这是一个广告!当然这样做肯定不是很合适啦~~2.上面的代码还可以进一步精简的,我感觉不需要设置这么多的自定义字段~{/callout}额外补充 1 WordPress 的分类页、Search 页,Tag 页等输出的文章列表时,如果想在中间位置(比如第 5 个文章后面)出现,可以用下面的代码:<?php if ($wp_query->current_post == 4) : ?> <div> 广告代码 </div> <?php endif; ?> <?php if ($wp_query->found_posts < 5 and $wp_query->current_post == ($wp_query->found_posts - 1)): ?> <div> 广告代码 </div> <?php endif; ?>$current_post 属性,必须用在 Loop 里面,表示当前显示的文章索引值;它是以 0 为起始值,如果想要在第 5 个文章后面,$wp_query->current_post 等于 4 即可。$found_posts 属性,表示按 $wp_query 匹配的文章总数。上面的代码只能放在 Loop 里面,比如 <?PHP if (have_posts()) : while (have_posts()) : the_post(); ?> 后面,表示广告代码将在文章列表的第 5 个文章后面出现,如果列表匹配出来的文章总数不到 5 个,就在列表的最后位置出现广告代码。额外补充 2 在陌小雨博客那又发现了另一个方法~ 只需要在发布文章时切换成文本,然后加入如下代码即可:<script type="text/javascript">document.location = "https://www.ilxtx.com"</script>注意替换网址为你想跳转的链接。可用于老文章失效,跳转到新文章哦~额外补充 3:WordPress 在文章内容中间插入广告 下面的代码可以实现在文章的第几段后面插入广告,注意按照下面的注释修改广告代码和段落数,转自WP 大学。/** * WordPress 在文章内容中间插入广告 * https://www.ilxtx.com/link-to-some-external-ressource-naturally.html */ //在文章内容的第二段后面插入广告 add_filter( 'the_content', 'lxtx_prefix_insert_post_ads' ); function lxtx_prefix_insert_post_ads( $content ) { $ad_code = '<div>添加你的广告代码</div>'; if ( is_single() && ! is_admin() ) { // 修改 2 这个段落数 return lxtx_prefix_insert_after_paragraph( $ad_code, 2, $content ); } return $content; } // 插入广告所需的功能代码 function lxtx_prefix_insert_after_paragraph( $insertion, $paragraph_id, $content ) { $closing_p = '</p>'; $paragraphs = explode( $closing_p, $content ); foreach ($paragraphs as $index => $paragraph) { if ( trim( $paragraph ) ) { $paragraphs[$index] .= $closing_p; } if ( $paragraph_id == $index + 1 ) { $paragraphs[$index] .= $insertion; } } return implode( '', $paragraphs ); }
2021年08月20日
27 阅读
0 评论
0 点赞
wordpress
2020-08-20
WordPress实现外链加密和伪静态跳转代码
外链转内链地址Base64加密地址的详细步骤:1、将以下跳转代码保存为 go.php,然后在网站根目录新建一个 go 文件夹,并把 go.php 上传到 go 文件夹中:<?php if(strlen($_SERVER['REQUEST_URI']) > 255 || strpos($_SERVER['REQUEST_URI'], "eval(") || strpos($_SERVER['REQUEST_URI'], "base64")) { @header("HTTP/1.1 414 Request-URI Too Long"); @header("Status: 414 Request-URI Too Long"); @header("Connection: Close"); @exit; } //通过 QUERY_STRING 取得完整的传入数据,然后取得 url=之后的所有值,兼容性更好 $t_url = preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]); //此处可以自定义一些特别的外链,不需要可以删除以下 5 行 if($t_url=="febdays" ) { $t_url="https://www.febdays.com"; } elseif($t_url=="news") { $t_url="https://www.febdays.com/news"; } //数据处理 if(!empty($t_url)) { //判断取值是否加密 if ($t_url == base64_encode(base64_decode($t_url))) { $t_url = base64_decode($t_url); } //对取值进行网址校验和判断 preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):\/\//i',$t_url,$matches); if($matches){ $url=$t_url; $title='页面加载中,请稍候...'; } else { preg_match('/\./i',$t_url,$matche); if($matche){ $url='http://'.$t_url; $title='页面加载中,请稍候...'; } else { $url = 'http://'.$_SERVER['HTTP_HOST']; $title='参数错误,正在返回首页...'; } } } else { $title = '参数缺失,正在返回首页...'; $url = 'http://'.$_SERVER['HTTP_HOST']; } ?> <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="robots" content="noindex, nofollow" /> <noscript><meta http-equiv="refresh" content="1;url='<?php echo $url;?>';"></noscript> <script> function link_jump() { //禁止其他网站使用我们的跳转页面 var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>"); if (!MyHOST.test(document.referrer)) { location.href="http://" + MyHOST; } location.href="<?php echo $url;?>"; } //延时 1S 跳转,可自行修改延时时间 setTimeout(link_jump, 1000); //延时 50S 关闭跳转页面,用于文件下载后不会关闭跳转页的问题 setTimeout(function(){window.opener=null;window.close();}, 50000); </script> <title><?php echo $title;?></title> <style type="text/css"> body{background:#555}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:45%;left:50%;margin-left:-100px;margin-top:2px;color:#000;letter-spacing:1px;font-size:20px;font-family:Arial}.spinner{position:absolute;top:45%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:20px solid rgba(255,0,0,1);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}} </style> </head> <body> <div class="loading"> <div class="spinner-wrapper"> <span class="spinner-text">页面加载中,请稍候...</span> <span class="spinner"></span> </div> </div> </body> </html>其中第12行代码中自定义的一些特别外链,这个功能特别好,因为我们每个站点都或多或少有一些特殊的外链,如果也变成 Base64 加密地址就不好看了,所以此处我们可以多添加几个比较有个性化的外链跳转地址。2、将以下代码添加到我们的 Nginx 服务器相应配置文件中的 location / { 前面,保存配置文件后平滑重启 Nginx 即可:rewrite ^/goto/(.*)$ /go/go.php?url=$1 last;Apache服务器修改根目录.htaccess文件,添加以下代码RewriteRule ^goto/(.*)$ /go/go.php?url=$1 [L]3、替换文章原外链跳转地址格式(/go/?url=外链)变更为新的外链格式(/goto/ base64 加密串),我们只需要将以下代码代替主题文件的 functions.php 文件中原先给外部链接加上跳转的代码即可: //文章外链跳转伪静态版 add_filter('the_content','link_jump',999); function link_jump($content){ preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches); if($matches){ foreach($matches[2] as $val){ if(strpos($val,'://')!==false && strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val) && !preg_match('/(ed2k|thunder|Flashget|flashget|qqdl):\/\//i',$val)){ $content=str_replace("href="$val"", "href="".home_url()."/goto/".base64_encode($val).""",$content); } } } return $content; }4、对于评论的外链,在function文件添加如下函数。//评论者链接重定向 function commentauthor($comment_ID = 0) { $url = get_comment_author_url( $comment_ID ); $author = get_comment_author( $comment_ID ); if ( empty( $url ) || 'http://' == $url ) { echo $author; } else { if (!preg_match(home_url(),$url)) { echo "<a href='".home_url()."/goto/".base64_encode($url)."' rel="nofollow noopener noreferrer" target='_blank' class='url'>$author</a>"; } else { echo "<a href='$url' target='_blank' class='url' rel="noopener noreferrer">$author</a>"; } } } }5、将下载原外链跳转地址格式(/go/?url=外链)变更为新的外链格式(/goto/ base64 加密串),我们首先将以下代码添加到主题文件 functions.php 文件最后一个?>(记得修改代码中的 febdays.com 为自己的域名)。 // 下载外链跳转 function links_nofollow($url) { if(strpos($url,'://')!==false && strpos($url,'febdays.com')===false && !preg_match('/(ed2k|thunder|Flashget|flashget|qqdl):\/\//i',$url)) { $url = str_replace($url, home_url()."/goto/".base64_encode($url),$url); } return $url; }然后将主题文件中关于下载链接的地址改为以下代码即可:<?php echo links_nofollow($url);?>不同其他主题下载链接文件位置不同,请自行寻找,然后将四个下载链接地址分别改成上述相对应的代码即可,如将第一个下载链接地址:<?php echo $url1; ?>改为:<?php echo links_nofollow($url1);?>至此,外链及下载地址均变成新的跳转格式(/goto/ base64 加密串),最难得的是原旧跳转格式(/go/?url=外链)依然有效.
2020年08月20日
8 阅读
0 评论
0 点赞
wordpress
1
...
5
6