我在这里遵循本教程来设置“基本”主题:
http://themeshaper.com/2009/06/22/wordpress-themes-templates-tutorial/
一切都运行良好,但现在是最后一部分,我希望侧边栏显示在“新闻提要”页面上。主题中的所有内容,就我所能理解的而言,都已正确设置。在functions.php“primary”和“secondary”中定义了两个widget区域,未修改的functions.php和sidebar.php可以在这里查看:
http://code.google.com/p/your-wordpress-theme/source/browse/trunk/functions.php 和 http://code.google.com/p/your-wordpress-theme/source/browse/主干/边栏.php
所以这就是发生的事情,我进入了外观-> 管理中的小部件管理器。主要和次要小部件区域显示在右侧。
我将类别和最近的帖子小部件拖到主要(或次要无关紧要)。我在每个小部件上单击保存以进行良好的测量,然后如果我浏览并返回小部件就消失了。什么都没有保存。
我没有使用任何插件,我没有 3rd 方或自定义小部件。这些只是默认的 vanilla wordpress 小部件。
我在配置文件中启用了调试,但保存小部件配置时没有任何错误输出。我什至在更新小部件后检查了页面源代码,并且底部没有一些人建议的隐藏错误。
如果有人不能告诉我如何解决这个问题,有没有人至少可以告诉我如何调试这个,或者从这件事中得到某种错误信息?
我正在使用 PhpStorm 并且我在我有一个实例的子类的父类中抛出一个自定义异常。
我没有从子类中的父调用中捕获异常,因为我希望捕获它是对子类实例进行调用的代码的责任。
PhpStorm 抱怨捕获的异常没有在 try 块中抛出,但是父方法确实抛出了它,这个方法是从 try 块中被调用的子方法调用的。
这是检查员的错误还是我在这里做错了什么?
下面是一些复制问题的示例代码:
<?php
class testE extends \Exception {
}
class parentClass {
public function testMethod() {
throw new testE('test exception');
}
}
class childClass extends parentClass {
public function doSomething() {
$this->testMethod();
}
}
$test = new childClass;
try {
$test->doSomething();
} catch(testE $e) {
// ^--- why does this report no throw in try?
// Exception 'testE' is never thrown in the corresponding try block
// Will this still …Run Code Online (Sandbox Code Playgroud) 我正在寻找一篇关于什么时候需要双重逃逸以及什么时候没有,但我无法找到任何东西的文章.也许我看起来不够努力,因为我确定某处有一个解释,但让我们很容易找到有这个问题的下一个人!
以下面的正则表达式模式为例:
/\n/
/domain\.com/
/myfeet \$ your feet/
Run Code Online (Sandbox Code Playgroud)
没有什么可以突破的吗?好的,让我们在PHP的preg_match函数的上下文中使用这些示例:
$foo = preg_match("/\n/", $bar);
$foo = preg_match("/domain\.com/", $bar);
$foo = preg_match("/myfeet \$ your feet/", $bar);
Run Code Online (Sandbox Code Playgroud)
根据我的理解,带引号的字符串值的上下文中的反斜杠会转义后续字符,并且表达式是通过带引号的字符串值给出的.
以前会不会像下面这样做,这不会导致错误吗?:
$foo = preg_match("/n/", $bar);
$foo = preg_match("/domain.com/", $bar);
$foo = preg_match("/myfeet $ your feet/", $bar);
Run Code Online (Sandbox Code Playgroud)
这不是我想要的吗?那些表达方式与上面的不一样.
难道我不必像这样写双逃生吗?
$foo = preg_match("/\\n/", $bar);
$foo = preg_match("/domain\\.com/", $bar);
$foo = preg_match("/myfeet \\$ your feet/", $bar);
Run Code Online (Sandbox Code Playgroud)
因此,当PHP处理字符串时,它会将反斜杠转义为反斜杠,然后在传递给PCRE解释器时将其保留?
或者PHP只是神奇地知道我想将反斜杠传递给PCRE解释器...我的意思是它是如何知道我不是想\"逃避我想在我的表达中使用的引用?或使用转义报价时只需要双斜线?就此而言,你需要TRIPLE逃避报价吗?\\\"你知道吗,所以报价被转义并留下了双倍?
这个经验法则是什么?
我刚刚用PHP做了一个测试:
$bar = "asdfasdf a\"ONE\"sfda dsf adsf me & mine adsf asdf asfd ";
echo …Run Code Online (Sandbox Code Playgroud) 出于示例的目的,var 2从数据库预设为"147.22"类型STRING.var 1先前在脚本中计算并具有147.22类型FLOAT.
脚本:
<?
$var1 = (float)$var1;
$var2 = (float)$var2;
var_dump($var1);
var_dump($var2);
if($var1 < $var2) { echo "hello"; }
?>
Run Code Online (Sandbox Code Playgroud)
我的预期结果是脚本不回显"hello",因为两个值的数量和类型相等.
不过这是我得到的输出:
float(197.22)
float(197.22)
hello
Run Code Online (Sandbox Code Playgroud)
如果我没有弄乱这些类型并让一个浮动而另一个是一个字符串,那么它仍然不起作用(这就是我首先到达这里的方式).
如果我在执行时强制执行这样的值:
$var1 = 147.22;
$var2 = 147.22;
var_dump($var1);
var_dump($var2);
if($var1 < $var2) { echo "hello"; }
?>
Run Code Online (Sandbox Code Playgroud)
我明白了,(并且它有效):
float(197.22)
float(197.22)
Run Code Online (Sandbox Code Playgroud)
注意没有"你好"....
任何人都有任何线索在这里?
无法找到这个问题的副本,所以这里是:
我有兴趣建立一个像亚马逊一样工作的PHP网站.我的意思是,当我去亚马逊时,我的会话总是"登录"但不是真的.该网站知道我是谁,我可以访问我保存的购物车数据和某些"不安全"的帐户操作,但每当我想做任何事情,比如查看我的订单,或者实际检查我必须仍然登录.
我在亚马逊的"未登录但有点登录"状态下看了一下饼干,我没有看到任何跳出来的东西,但我猜他们存储了某种标识符cookie,允许网站启动会话基于我的用户帐户,但处于"未经身份验证"模式,其中大多数事情都受到限制,但并非全部.
所以我想知道是否有人对我的想法有任何提示或陷阱:
1 - 用户帐户都有某种MD5,它是在创建/更新帐户时根据用户名和密码创建的.
2 - 每次对会话进行身份验证时,都会确保使用此md5哈希存储/ permanent/cookie.
3 - 如果访问者在没有活动会话数据的情况下加载页面,它会检查md5 cookie并将用户基本的"未经身份验证的"信息加载到与该md5匹配的会话中,以便现在该站点知道他们的名字和他们保存的购物车等等
(这是一个问题,有人可以尝试随机md5哈希试图加载不同的用户名/购物车,从而得到"登录电子邮件"地址?是否值得我的时间在md5检查上进行某种暴力检测?)
4 - 当处于未经身份验证状态的用户尝试执行需要身份验证的操作时,将显示登录页面,并预先填写电子邮件/帐户名称框.然后在成功登录后重定向到请求的操作.
(如果没有md5 cookie或者md5很糟糕,只需丢弃cookie并显示网站"无用户"模式.)
思考?关注?好主意?
我试过了:
HTML:
<p><label for="address1">Address 1:</label> <input type="text" class="required" id="address1" name="address1" value="" /></p>
Run Code Online (Sandbox Code Playgroud)
CSS:
input.required + label { color: #c00; }
Run Code Online (Sandbox Code Playgroud)
但是这似乎没有用......我做错了吗?
Firefox 8测试