【发布时间】:2018-07-02 15:56:31
【问题描述】:
所以我正在尝试制作一个 WordPress 小部件来回显电影输入。我已将回显放在小部件功能的第 10 行,但它不会回显输入。现在我知道我可以把它换成 echo $instance['movie']; ,但是我想测试我的 movie_search 方法是否有效,但事实并非如此。如果这个答案真的很愚蠢,任何帮助表示赞赏和抱歉,我对编码还是很陌生。
<?php
public function widget( $args, $instance) {
echo $args['before_widget'];
if (!empty( $instance['tmdbapikey'] ) ) {
echo $args['before_tmdbapikey'].apply_filters(
'widget_tmdbapikey',
$instance['tmdbapikey']
).$args['after_tmdbapikey'];
}
//widget content output
echo $movie_query;
// whatever you want to display after widget (<div>, etc)
echo $args['after_widget'];
}
public function form( $instance ) {
$tmdbapikey = !empty( $instance['tmdbapikey'] )
? $instance['tmdbapikey']
: esc_html__( '', 'mpd_domain' );
<p>
<label for="<?php echo esc_attr($this->get_field_id('movie')); ?>">
<?php esc_attr_e('movie:', 'mpd_domain'); ?>
</label>
<input
class="widefat"
id="<?php echo esc_attr( $this->get_field_id( 'movie' ) ); ?>"
name="<?php echo esc_attr( $this->get_field_name( 'movie' ) ); ?>"
type="text"
value="<?php echo esc_attr( $movie ); ?>">
</p>
这是保存输入的用户字符串的方法。
public function update( $new_instance, $old_instance ) {
$instance = array();
$instance['tmdbapikey'] = (!empty($new_instance['tmdbapikey']))
? sanitize_text_field( $new_instance['tmdbapikey'] )
: '';
$instance['movie'] = (!empty($new_instance['movie']))
? sanitize_text_field($new_instance['movie'])
: '';
$instance['size'] = (!empty( $new_instance['size']))
? sanitize_text_field($new_instance['size'])
: '';
$instance['description'] = (!empty( $new_instance['description']))
? sanitize_text_field($new_instance['description'])
: '';
return $instance;
}
电影搜索方法
public function movie_search(){
//copies inputted data to movie variable
$movie_query = $instance['movie'];
}
【问题讨论】:
-
明显错误很明显?您不是回显电影搜索,而是变量,可能为空。尝试在
echo $movie_query;之前添加$movie_query = movie_search(); -
感谢您的帮助,是的,我知道了。