不久前,我问了一个关于我网站内容过滤器的相当冗长的问题.这个帖子可以在这里找到,请随意阅读.
我已经接受了@ DampeS8N的答案,因为他回答得很好并且把我送到正确的方向.
不幸的是,所述问题的结果是我使用的内容过滤器效率太低,无法在我的应用程序环境中运行.
这是信息:
*
A glossary entry can be found here.
An example list of glossary entries may be,
caudal fin
,dorsal
,filter
, etc.
**
A …
我已经将这篇文章标记为WordPress,但我并不完全确定它是特定于WordPress的,所以我将它发布在StackOverflow而不是WPSE上.解决方案不一定是WordPress特定的,只需PHP.
情景
我运营的鱼网站上有许多热带鱼Species Profiles
和Glossary
参赛作品.
我们的网站围绕我们的个人资料.正如你所说,它们是网站的面包和黄油.
我希望实现的是,在提及另一个物种或词汇表条目的每个物种档案中,我都可以用链接替换这些词 - 比如你在这里看到的.理想情况下,我也希望这也出现在新闻,文章和博客文章中.
我们拥有近1400 species profiles
和1700 glossary entries
.我们的物种概况通常很长,最后只统计我们的物种概况numbered more than 1.7 million words
.
我目前正在尝试的
目前,我有一个filter.php
功能 - 我相信 - 做我需要做的事情.代码非常冗长,可以在这里找到.
另外,在我的WordPress主题中functions.php
,我有以下内容:
# ==============================================================================================
# [Filter]
#
# Every hour, using WP_Cron, `my_updated_posts` is checked. If there are new Post IDs in there,
# it will run a filter on all of the post's content. …
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个学生名单,这些学生的行为在我们每个学校的年度组中都是统计上最差的.
我们有一个名为的表students
.
然后,我们有行为flags
和alerts
加sanctions
.
但是,不同类别的旗帜/警报/制裁被认为比其他类别更严重.这些与标签一起存储在各自的_categories
表中,例如flag_categories
和sanction_categories
.flag
然后该表将有一个名为的列Category_ID
(alerts
有点不同,因为它只是一个Type
带有'A','C','P'和'S'值的字段).
如果我想查看显示特定年份组中标记最高的学生的数据,我会运行此查询:
SELECT
CONCAT(stu.Firstname, " ", stu.Surname) AS `Student`,
COUNT(f.ID) AS `Flags`
FROM `students` stu
LEFT JOIN `flags` f ON f.Student_ID = stu.id
WHERE stu.Year_Group = 9
GROUP BY stu.id
ORDER BY `Flags` DESC
LIMIT 0, 20
Run Code Online (Sandbox Code Playgroud)
如果我想向学生展示特定年份组中最危机警报,我会运行此查询:
SELECT
CONCAT(stu.Firstname, " ", stu.Surname) AS `Student`,
COUNT(f.ID) AS `Flags`
FROM `students` stu
LEFT JOIN `flags` f …
Run Code Online (Sandbox Code Playgroud) 我正在为我们的VLE开发奖励系统,它使用三种独立的技术 - 用于大多数客户端/显示处理的JavaScript,用于与数据库通信的PHP和用于数据库本身的MySQL.
我附上了三张"交易"表的截图.它的结构,一些示例记录和其细节的概述.
前提是工作人员奖励学生表现良好的行为等.这可能意味着30名学生的课程一次获得积分.工作人员每周限制300点,目前有大约85名员工正在访问该系统(这可能会上升).
我现在这样做的方式,每个"交易"都有一个"Giver_ID"(工作人员授予点的成员),一个"Recipient_ID"(接收积分的学生),一个类别和一个理由.这样,每当一名员工发出30分时,我就会在数据库中放入30行.
这似乎在早期工作,但在三周内我已经在数据库中有超过12,000个事务.
此时它变得有点复杂.在"指定点"页面(附带的另一个屏幕截图)上,当教师点击其中一个班级或搜索单个学生时,我希望显示学生的积分.我目前在我的系统上执行此操作的唯一方法是执行" SELECT * FROM 'transactions'
"并使用以下JS将所有信息放入数组中:
var Points = { "Recipient_ID" : "0", "Points" : "0" };
function getPoints (data) {
for (var i = 0; i < data.length; i++) {
if (Points[data[i].Recipient_ID]) {
Points[data[i].Recipient_ID] = parseInt(Points[data[i].Recipient_ID]) + parseInt(data[i].Points);
} else {
Points[data[i].Recipient_ID] = data[i].Points;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在内部登录系统时,这似乎足够快.但是,在外部登录时,此过程大约需要20秒,因此在您单击/搜索几次之前,不会显示学生的分数值.
我在PHP中使用以下代码来访问这些事务:
function getTotalPoints() {
$sql = "SELECT *
FROM `transactions`";
$res = mysql_query($sql);
$rows = array();
while($r = mysql_fetch_assoc($res)) {
$rows[] = $r;
} …
Run Code Online (Sandbox Code Playgroud) 我目前正在将我的定制网站重新开发为WordPress驱动的CMS.
我一直在研究的网站只是我现有的网址加/dev/
,即http://my.website.com/dev/
.
我将http://my.website.com
在周末移动这个网站,因此需要删除对/dev/
URL的所有引用.
我想要做的基本上是/dev
在我的数据库上"查找和替换" .我可以清楚地看到哪些表在此值,但自然按照一个WordPress安装,相当多的字段是序列化数据-这一个简单dump
> open with notepad++
> find & replace
将打破.
我为此目的开发的代码在这里:
<?php
$look_at[] = array( "table" => "wp_options", "fields" => array( "option_value" ), "id_field" => "option_id" );
$look_at[] = array( "table" => "wp_postmeta", "fields" => array( "meta_value" ), "id_field" => "meta_id" );
$look_at[] = array( "table" => "wp_posts", "fields" => array( "post_content", "guid" ), "id_field" => "ID" );
$look_at[] = array( "table" => "wp_sfmeta", "fields" …
Run Code Online (Sandbox Code Playgroud) 我想在一个潜在的复杂环境中实现相对简单的事情.我想使用plupload jQuery UI插件将文件从JavaScript小部件(Netvibes UWA格式)上传到本地Intranet服务器.
我似乎正确地设置了我的代码 - plupload
容器出现了,我可以愉快地选择和上传文件.上传似乎工作 - 每个文件达到100% - 但当我检查我的Firebug控制台时,我收到以下错误:
OPTIONS upload.php - 403 Forbidden
并且文件不会上传到我指定的files
目录.
frogserver.curriculum.local
位于内部IP 192.168.3.15上staff.curriculum.local
位于内部IP 192.168.3.60上JavaScript的
widget.onLoad = function(){
$( "#datetime" ).datepicker({ dateFormat: "yy-mm-dd" });
Input.init();
/* plupload */
$("#uploader").plupload({
// General settings
runtimes : 'html5,flash,html4',
url : 'http://staff.curriculum.local/frog/LOTS/upload.php',
max_file_size : '1000mb',
max_file_count: 20, // user can add no more then 20 files at …
Run Code Online (Sandbox Code Playgroud) 我正在使用 Guzzle 向 API 端点发送大量请求,并使用该Pool
功能异步和并发地发送这些请求。
该脚本如下所示:
use GuzzleHttp\Client;
use GuzzleHttp\Promise;
use GuzzleHttp\Pool;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Exception\RequestException;
/* Configure logger */
Logger::configure("config/logger.xml");
$logger = Logger::getLogger("console");
/* Configure Guzzle Client */
$client = new Client([
'base_uri' => 'http://my.api/',
'timeout' => 2.0,
'allow_redirects' => false,
]);
/* Anonymous function (closure) to 'yield' X number of Requests */
$requests = function ($num_requests) {
for ($i = 0; $i < $num_requests; $i++) {
yield new Request('GET', "/MY_UNIQUE_IDENTIFIER/");
}
};
/* Create a Pool …
Run Code Online (Sandbox Code Playgroud) 因为我已经更好地了解了JS,我已经从程序风格转变为半OO(不要问我的意思是什么:基本上是混乱!)但是现在我想开始正确地使用它.OO吸引了我的编码大脑.
但是,我正在努力开发一个学校周的图书馆,我不确定我最好怎么做.
如果我只是使用几周的数组,它们看起来像这样:
WeeksArray[36].StartDate = "2011-09-05";
WeeksArray[36].EndDateSchool = "2011-09-09";
WeeksArray[36].EndDateProper = "2011-09-11";
WeeksArray[36].JSDate = new Date ( 2011, 8, 05 );
WeeksArray[36].Type = "1";
WeeksArray[36].Label = "Week 36: 5th Sept 2011";
Run Code Online (Sandbox Code Playgroud)
我希望其他脚本可以访问此库,以便他们可以加载包含学校日历中所有周的数组或对象.我想,例如,我的一个脚本会根据这些信息生成一个下拉菜单,显示"第36周:2011年9月5日",点击后会向我的PHP脚本和SQL数据库发送请求,然后过滤信息在屏幕上相应.注意:我不需要帮助实现后者,它只是上下文的一个例子.
我开始编码如下:
var LEAP = {}
LEAP.Schedule = {
init: function() {
this.setWeeks();
}
setWeeks: function() {
var WeeksArray = [];
Run Code Online (Sandbox Code Playgroud)
但是我看得越多,感觉就越不正确!
我应该创建"Week"对象,然后是一个容器,它有一个返回所有Week对象的方法吗?我一直在阅读John Resig的"Pro JavaScript Techniques"中的OOP章节,但事实是我不完全理解它.这感觉就像是正确的方法,但是对象中的对象正在伤害我的头脑.
最后的结果应该是我在我的一个页面上包含这个脚本,然后可以使用类似的东西var WeeksArray = LEAP.Schedule.getWeeks();
,但即使这样我也不确定这是否真实?
我很困惑......!:D对此主题的任何帮助将非常感激.
由于我使用的小部件格式,我有一个页面,其中嵌入了多个 iframe。我不会粘贴代码,因为它庞大而笨拙,但它本质上就是这样:
<html>
<head></head>
<body>
<iframe>
<html>
<head></head>
<body>
<iframe>
<html>
<head></head>
<body>
<iframe>
<html>
<head></head>
<body>
blah
</body>
</html>
</iframe>
</body>
</html>
</iframe>
</body>
</html>
</iframe>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
但是,根据我使用的页面和模板,可能会有更多或更少的 iframe。
因此,我试图从最嵌入的 iframe 中获取此页面中所有 iframe 的 ID。
这可以用 jQuery 实现吗?我已经尝试了一些代码片段,但没有运气:
$('iframe', window.parent.document).each(function() {
console.log($(this).attr("id"));
});
$('iframe', parent.document).each(function() {
console.log($(this).attr("id"));
});
$('iframe').each(function() {
console.log($(this).attr("id"));
});
Run Code Online (Sandbox Code Playgroud)
这些的输出是一个单一的 ID 字符串 - 不幸的是,它不是我想要控制的 iframe。
提前致谢,
我正在尝试用JavaScript编写一个小部件(使用UWA语法).它在FireFox中运行得非常好,但Internet Explorer却很奇怪.
基本上,当我第一次加载小部件时,它不会显示我的中心列(它应显示当天的Duty Rota).
但是,如果我按F12并进入开发者控制台,我可以将文档模式更改为IE9 standards
并使其正常工作.
如果我然后将文档模式设置为Quirks
,它显示如下:
定义中心列的代码如下:
/* [centre] Duty rota */
AllInOne.centreCol = function() {
var now = new Date();
var currentDay = now.getDay();
var DRWeek1 = {
Monday : {
BeforeSchool : "HA, MJO, LS, GB, JSA, HA, TD",
Breaks : "ABO, LL, RR, DR, PHd, JA, VID, AN, LDE, CN, DW, PG, MD, ND, CK, JP, RH, RJ, CC, GB",
AfterSchool : "GB, CL, MVW, TD/GDO, HL, LS" …
Run Code Online (Sandbox Code Playgroud)