* HIVOLDA的考试,如果是外部考试,请 *
我刚为学校制作了一些Wordpress插件。
我的PHP文件工作正常,但是当我上传并将其作为插件激活时,它们只显示在页面顶部。
如你所知,我很有点......
屏幕截图:s27.postimg.org/53w3bmyw3/131128oav_plugin.jpg
这是最短的代码:
<html>
<head>
<meta charset="utf-8">
<title>Registrering av åpne bakker</title>
</head>
<body>
<?PHP
/**
* Plugin Name: Haugsdalen Skisenter Bakkeregistrering
* Description: Registrering av åpne/stengte bakker for Haugsdalen Skisenter.
*/
function visSkjema(){
echo('
<form id="bakkerreg" name="bakkerreg" method="post" action="bakkerreg.php">
<label for="hoved">Er hovedbakken åpen?</label><br/>
<input type="radio" name="hoved" value="Åpen">Ja
<input type="radio" name="hoved" value="Stengt">Nei<br/>
<label for="skog1">Er skogsløypen vest åpen?</label><br/>
<input type="radio" name="skog1" value="Åpen">Ja
<input type="radio" name="skog1" value="Stengt">Nei<br/>
<label for="skog2">Er skogsløypen øst åpen?</label><br/>
<input type="radio" name="skog2" value="Åpen">Ja
<input type="radio" name="skog2" value="Stengt">Nei<br/>
<input type="submit" name="lagre" id="lagre" value="Send inn">
</form>');
}
if( isset($_POST['lagre'])) {
if( $_POST['hoved']!="" &&
$_POST['skog1']!="" AND
$_POST['skog2']!="" ){
/* Her lagrer den til databasen*/
$db = mysql_connect('localhost','USERNAME','PASSWORD');
/* Velge database */
mysql_select_db('USERNAME',$db);
/* Definer spørringen */
$sql = "INSERT INTO bakker(hoved,skog1,skog2)
VALUES('".$_POST['hoved']."',
'".$_POST['skog1']."',
'".$_POST['skog2']."') ";
/* Kjør spørring */
$resultat = mysql_query($sql);
if($resultat) {
echo ("<p>Grattis, du har nå registrert informasjonen!</p>");
}else {
echo ("<p>Du failet!</p>");
echo ("<p>".mysql_error()."</p>");
}
}else{ // Manglande obligatoriske felt
visSkjema();
}
}else {
/*Vis skjema, ingen har trykt på lagre knappen (enda) */
visSkjema();
}
?>
</body>
</html>
连连呢? :)
目的是在首页上轻松更新信息。它将是一个管理员轮询系统,公司可以通过按复选框更新信息。我制作了3个具有此功能的插件。这个具有公司可以更新哪个滑雪场开放的功能。我还制作了一个具有注册表单的插件,并发送到数据库。还有一个从数据库接收信息的文件,管理员可以删除任何行。
* HIVOLDA的考试,如果是外部考试,请 *
答案 0 :(得分:3)
听起来你对WordPress的功能有点困惑。在WordPress加载所有文件之后,但在它实际执行任何操作之前,插件都会在页面加载开始时包含在Wordpress中。这允许插件从那一点进一步修改任何功能,但意味着你实际上不能写出任何代码,因为它最终会在页面的顶部。
Wordpress通过所谓的钩子系统来解决这个问题。钩子(或动作钩子)在整个WordPress中设置并在某些时候被调用,你可以用它们注册你的函数,因此在运行该钩子时会调用它们。我知道这有点抽象,所以这里有一个例子:
add_action( 'get_footer', 'customplugin_footer_hook' );
function customplugin_footer_hook ($name)
{
echo 'Some code here.';
echo 'This will show up right before the footer, because it's registered to the get_footer action hook';
}
有动作和过滤器,过滤器被设计用于修改传递给它们的数据,并返回它,动作(或钩子)被设计为给予数据并在屏幕上打印一些东西(但这并不总是他们'用于)。
所有这一切都说,它看起来并不像你实际上想要做的那样有多大帮助,因为在WordPress中处理发布数据可能有点混乱,我不知道这是不是假设是民意调查,或管理员设置,或其他;我不会说挪威语:)
向我们提供有关您要实现的目标的更多信息,我们可能会向您提供有关如何执行此操作的详细信息。
同时有一些有用的链接: