WordPress theme options error

时间:2012-12-20 作者:vaibhav

我正在构建一个主题,我需要调用主题选项,但当我在这里调用主题选项时,我确实会遇到诸如白色屏幕和500内部服务器错误之类的错误

在WP查询中(PHP新手)

 <?query_posts (\'meta_key=post_views_count&orderby=meta_value_num&order=DESC&meta_value=get_option(mytheme_value);\');?>
也在我的前端表单中

// ADD THE FORM INPUT TO $new_post ARRAY
$new_post = array(
\'post_title\'    =>  $title,
\'post_content\'  =>  $description,
\'post_category\' =>  array($_POST[\'cat\']),  // Usable for custom  taxonomies too
\'tags_input\'    =>  array($tags),
\'post_status\'   =>  \'get_option(mytheme_status)\',     
以及如何调用函数中的选项。php

2 个回复
最合适的回答,由SO网友:Mike Madern 整理而成

首先,将代码更改为以下内容:

$value = get_option( \'mytheme_value\' );
query_posts ( "meta_key=post_views_count&orderby=meta_value_num&order=DESC&meta_value={$value}");
使用单引号时,php不会在字符串中进行解析,函数(如get_option) 永远不会从字符串中调用。因此,调用函数get_option 首先,将值放入双引号字符串中(该字符串在执行期间解析变量)。

然后将其他代码更改为以下代码:

// ADD THE FORM INPUT TO $new_post ARRAY
$new_post = array(
\'post_title\'    =>  $title,
\'post_content\'  =>  $description,
\'post_category\' =>  array($_POST[\'cat\']),  // Usable for custom  taxonomies too
\'tags_input\'    =>  array($tags),
\'post_status\'   =>  get_option( \'mytheme_status\' ),
当您想在数组中调用函数时,使用它返回的值,不需要将函数放在单引号中。

此外,如果要在中获取选项值functions.php, 您可以简单地使用以下行:

$mytheme_status = get_option( \'mytheme_status\' );
当您在这些修改之后仍然遇到错误,并且仍然得到一个空白屏幕时,请通过查看错误日志来找出出现了什么问题。在linux环境中,默认apache错误日志文件位置为/var/log/apache2/error.log/var/log/httpd/error_log.

SO网友:dbeja

在这两种代码中,get\\u option函数应该位于字符串之外,如下所示:

<?php 
$theme_value = get_option(\'mytheme_value\');
query_posts (\'meta_key=post_views_count&orderby=meta_value_num&order=DESC&meta_value=\'.$theme_value);?>
以及

$theme_status = get_option(\'mytheme_status\');
// ADD THE FORM INPUT TO $new_post ARRAY
$new_post = array(
    \'post_title\'    =>  $title,
    \'post_content\'  =>  $description,
    \'post_category\' =>  array($_POST[\'cat\']),  // Usable for custom  taxonomies too
    \'tags_input\'    =>  array($tags),
    \'post_status\'   =>  $theme_status,
为什么最后一段代码以逗号结尾?你只写了一部分代码?如果没有,则必须删除逗号并关闭数组。

此外,这些变量mytheme\\u value和mytheme\\u status是什么?它们存在吗?

如果仍有错误,则应在此处编写其余代码。

结束