wordpress可以二次开发吗
发布网友
发布时间:2022-04-29 16:07
我来回答
共3个回答
热心网友
时间:2023-10-18 03:44
wordpress可以二次开发。
二次开发其实主要涉及的就是分类,文章,摘要,博客自定义信息调用等方法
1,首先调用导航,需要使用分类内容
2,首页调用文章内容,一般包括标题,摘要,作者,时间等内容
3,到具体栏目页面,调用指定栏目下的内容(分为指定调用和自动调用)
4,文章页面的展示
5,图片内容调用(一般来说是调用文章中的第一个图片)
1 调用分类
2
3 <?php
4 $categories = get_categories();
5 foreach($categories as $category):
6 ?>
7
8 <li><a href="?cat=<?php echo $category->cat_ID; ?>" class="selected filter-data">
9 <?php echo $category->name; ?></a></li>
10
11 <?php endforeach; ?>
首页和栏目页摘要调用
<?php the_excerpt();?>
文章页摘要(其实主要是在single.php可以使用)
<?php global $more ; $more = false; ?>
<?php the_content('(more)');?>
<?php $more = true; ?>
调用具体栏目的文章摘要
<?php $posts = get_posts( "category=6&numberposts=1" ); ?>
<?php if( $posts ) : ?>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><h2><?php the_title(); ?></h2> </a>
<p class="ttime"><?php the_time('Y年M月d日g:i a'); ?></p>
<p><?php the_content(); ?></p>
<?php endforeach; ?>
<?php endif; ?>
调用分类文章【自动判断栏目】
<?php if( $posts ) : ?>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><h2><?php the_title(); ?></h2> </a>
<p class="ttime"><?php the_time('r'); ?></p>
<p><?php the_content(); ?></p>
<?php endforeach; ?>
<?php endif; ?>
调用文章中第一个图片,此代码应该写在function.php中
function 那个echo_first_image($width="85",$height="100") {
global $post, $posts;
ob_start();
ob_end_clean();
//通过正则表达式匹配文章内容中的图片标签
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
//第一张图片的html代码,下面加了那个缩放的js哦。。如果你不打算缩放,请删除
$first_img = '<img src="'. $matches[1][0] .'" width="'.$width.'" height="'.$width.'" alt="'.$post->post_title .'" onload="javascript:DrawImage(this,'.$width.','.$height.')" />';
if(empty($matches[1][0])){ //如果文章中没有图片,就调用下面的的默认代码,自己改图片url,也有缩放js
$first_img = '<img src="'. get_bloginfo('template_url') .'/images/defalt.jpg" alt="'.$post->post_title .'" width="'.$width.'" height="'.$height.'" class="img-sidebar"/>';
}
//输出代码
echo '<a href="'.get_permalink().'" title="'.$post->post_title.'" >'. $first_img .'</a>';
}
页面中调用应该这样写
<?php echo_first_image('85','100');?>
热心网友
时间:2023-10-18 03:45
1、 在comments.php评论表单中添加自己想要的字段,如:
<p>
<input type="text" name="tel" id="tel" size="22" tabindex="4" />
<label for="tel">电话</label>
</p>
tabindex 这个属性按照从小到大排,为什么要这样?你可以自己试试….
2、如果评论表单是使用系统自带的,那么请用以下方法添加表单字段,如果不是,请略过
add_filter('comment_form_default_fields','comment_form_add_ewai');
function comment_form_add_ewai($fields) {
$label1 = __( '国家/地区' );
$label2 = __( 'Skype账号' );
$label3 = __( '电话' );
$label4 = __( '传真' );
$label5 = __( '地址' );
$value1 = isset($_POST['guojia']) ? $_POST['guojia'] : false;
$value2 = isset($_POST['skype']) ? $_POST['skype'] : false;
$value3 = isset($_POST['tel']) ? $_POST['tel'] : false;
$value4 = isset($_POST['fax']) ? $_POST['fax'] : false;
$value5 = isset($_POST['address']) ? $_POST['address'] : false;
$fields['guojia'] =<<<HTML
<p>
<label for="guojia">{$label1}</label>
<input id="guojia" name="guojia" type="text" value="{$value1}" size="30" />
</p>
HTML;
return $fields;
}
3、 接收表单字段并写入数据库
在主题目录的 functions.php添加以下代码
add_action('wp_insert_comment','wp_insert_tel',10,2);
function wp_insert_tel($comment_ID,$commmentdata) {
$tel = isset($_POST['tel']) ? $_POST['tel'] : false;
//_tel 是存储在数据库里的字段名字,取出数据的就会用到
update_comment_meta($comment_ID,'_tel',$tel);
}
这两步就可以将数据写入数据库了,不信你试试看
add_action()参数中的10和2分别表示该函数执行的优先级是10(默认值,值越小优先级越高),该函数接受2个参数。
4、在后台显示额外字段
前面两步只是接收和写入到数据库,那么要怎么在后台评论列表中显示呢?将以下代码复制到主题目录的functions.php 中:
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
function my_comments_columns( $columns ){
$columns[ '_tel' ] = __( '电话' ); //电话是代表列的名字
return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
switch( $column_name ) {
case "_tel" :
echo get_comment_meta( $comment_id, '_tel', true );
break;
}
如果要在前台的留言列表中调用,就用以下代码,_tel就是你在数据库中存储的字段名字
<?php
$tel = get_comment_meta($comment->comment_ID,'_tel',true);
if( !empty($tel)){
echo "电话".$tel;
}
?>
5、 大功告成,看看后台的评论列表,是不是多了一列电话,那样的话就没错了。
6、如果要移除某一个自带的表单字段,可以使用以下代码
function tel_filtered($fields){
if(isset($fields['tel']))
unset($fields['tel']);
return $fields;
}
add_filter('comment_form_default_fields', 'tel')
热心网友
时间:2023-10-18 03:45
肯定可以,而且方便
热心网友
时间:2023-10-18 03:44
wordpress可以二次开发。
二次开发其实主要涉及的就是分类,文章,摘要,博客自定义信息调用等方法
1,首先调用导航,需要使用分类内容
2,首页调用文章内容,一般包括标题,摘要,作者,时间等内容
3,到具体栏目页面,调用指定栏目下的内容(分为指定调用和自动调用)
4,文章页面的展示
5,图片内容调用(一般来说是调用文章中的第一个图片)
1 调用分类
2
3 <?php
4 $categories = get_categories();
5 foreach($categories as $category):
6 ?>
7
8 <li><a href="?cat=<?php echo $category->cat_ID; ?>" class="selected filter-data">
9 <?php echo $category->name; ?></a></li>
10
11 <?php endforeach; ?>
首页和栏目页摘要调用
<?php the_excerpt();?>
文章页摘要(其实主要是在single.php可以使用)
<?php global $more ; $more = false; ?>
<?php the_content('(more)');?>
<?php $more = true; ?>
调用具体栏目的文章摘要
<?php $posts = get_posts( "category=6&numberposts=1" ); ?>
<?php if( $posts ) : ?>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><h2><?php the_title(); ?></h2> </a>
<p class="ttime"><?php the_time('Y年M月d日g:i a'); ?></p>
<p><?php the_content(); ?></p>
<?php endforeach; ?>
<?php endif; ?>
调用分类文章【自动判断栏目】
<?php if( $posts ) : ?>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><h2><?php the_title(); ?></h2> </a>
<p class="ttime"><?php the_time('r'); ?></p>
<p><?php the_content(); ?></p>
<?php endforeach; ?>
<?php endif; ?>
调用文章中第一个图片,此代码应该写在function.php中
function 那个echo_first_image($width="85",$height="100") {
global $post, $posts;
ob_start();
ob_end_clean();
//通过正则表达式匹配文章内容中的图片标签
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
//第一张图片的html代码,下面加了那个缩放的js哦。。如果你不打算缩放,请删除
$first_img = '<img src="'. $matches[1][0] .'" width="'.$width.'" height="'.$width.'" alt="'.$post->post_title .'" onload="javascript:DrawImage(this,'.$width.','.$height.')" />';
if(empty($matches[1][0])){ //如果文章中没有图片,就调用下面的的默认代码,自己改图片url,也有缩放js
$first_img = '<img src="'. get_bloginfo('template_url') .'/images/defalt.jpg" alt="'.$post->post_title .'" width="'.$width.'" height="'.$height.'" class="img-sidebar"/>';
}
//输出代码
echo '<a href="'.get_permalink().'" title="'.$post->post_title.'" >'. $first_img .'</a>';
}
页面中调用应该这样写
<?php echo_first_image('85','100');?>
热心网友
时间:2023-10-18 03:44
wordpress可以二次开发。
二次开发其实主要涉及的就是分类,文章,摘要,博客自定义信息调用等方法
1,首先调用导航,需要使用分类内容
2,首页调用文章内容,一般包括标题,摘要,作者,时间等内容
3,到具体栏目页面,调用指定栏目下的内容(分为指定调用和自动调用)
4,文章页面的展示
5,图片内容调用(一般来说是调用文章中的第一个图片)
1 调用分类
2
3 <?php
4 $categories = get_categories();
5 foreach($categories as $category):
6 ?>
7
8 <li><a href="?cat=<?php echo $category->cat_ID; ?>" class="selected filter-data">
9 <?php echo $category->name; ?></a></li>
10
11 <?php endforeach; ?>
首页和栏目页摘要调用
<?php the_excerpt();?>
文章页摘要(其实主要是在single.php可以使用)
<?php global $more ; $more = false; ?>
<?php the_content('(more)');?>
<?php $more = true; ?>
调用具体栏目的文章摘要
<?php $posts = get_posts( "category=6&numberposts=1" ); ?>
<?php if( $posts ) : ?>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><h2><?php the_title(); ?></h2> </a>
<p class="ttime"><?php the_time('Y年M月d日g:i a'); ?></p>
<p><?php the_content(); ?></p>
<?php endforeach; ?>
<?php endif; ?>
调用分类文章【自动判断栏目】
<?php if( $posts ) : ?>
<?php foreach( $posts as $post ) : setup_postdata( $post ); ?>
<a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><h2><?php the_title(); ?></h2> </a>
<p class="ttime"><?php the_time('r'); ?></p>
<p><?php the_content(); ?></p>
<?php endforeach; ?>
<?php endif; ?>
调用文章中第一个图片,此代码应该写在function.php中
function 那个echo_first_image($width="85",$height="100") {
global $post, $posts;
ob_start();
ob_end_clean();
//通过正则表达式匹配文章内容中的图片标签
$output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post->post_content, $matches);
//第一张图片的html代码,下面加了那个缩放的js哦。。如果你不打算缩放,请删除
$first_img = '<img src="'. $matches[1][0] .'" width="'.$width.'" height="'.$width.'" alt="'.$post->post_title .'" onload="javascript:DrawImage(this,'.$width.','.$height.')" />';
if(empty($matches[1][0])){ //如果文章中没有图片,就调用下面的的默认代码,自己改图片url,也有缩放js
$first_img = '<img src="'. get_bloginfo('template_url') .'/images/defalt.jpg" alt="'.$post->post_title .'" width="'.$width.'" height="'.$height.'" class="img-sidebar"/>';
}
//输出代码
echo '<a href="'.get_permalink().'" title="'.$post->post_title.'" >'. $first_img .'</a>';
}
页面中调用应该这样写
<?php echo_first_image('85','100');?>
热心网友
时间:2023-10-18 03:45
1、 在comments.php评论表单中添加自己想要的字段,如:
<p>
<input type="text" name="tel" id="tel" size="22" tabindex="4" />
<label for="tel">电话</label>
</p>
tabindex 这个属性按照从小到大排,为什么要这样?你可以自己试试….
2、如果评论表单是使用系统自带的,那么请用以下方法添加表单字段,如果不是,请略过
add_filter('comment_form_default_fields','comment_form_add_ewai');
function comment_form_add_ewai($fields) {
$label1 = __( '国家/地区' );
$label2 = __( 'Skype账号' );
$label3 = __( '电话' );
$label4 = __( '传真' );
$label5 = __( '地址' );
$value1 = isset($_POST['guojia']) ? $_POST['guojia'] : false;
$value2 = isset($_POST['skype']) ? $_POST['skype'] : false;
$value3 = isset($_POST['tel']) ? $_POST['tel'] : false;
$value4 = isset($_POST['fax']) ? $_POST['fax'] : false;
$value5 = isset($_POST['address']) ? $_POST['address'] : false;
$fields['guojia'] =<<<HTML
<p>
<label for="guojia">{$label1}</label>
<input id="guojia" name="guojia" type="text" value="{$value1}" size="30" />
</p>
HTML;
return $fields;
}
3、 接收表单字段并写入数据库
在主题目录的 functions.php添加以下代码
add_action('wp_insert_comment','wp_insert_tel',10,2);
function wp_insert_tel($comment_ID,$commmentdata) {
$tel = isset($_POST['tel']) ? $_POST['tel'] : false;
//_tel 是存储在数据库里的字段名字,取出数据的就会用到
update_comment_meta($comment_ID,'_tel',$tel);
}
这两步就可以将数据写入数据库了,不信你试试看
add_action()参数中的10和2分别表示该函数执行的优先级是10(默认值,值越小优先级越高),该函数接受2个参数。
4、在后台显示额外字段
前面两步只是接收和写入到数据库,那么要怎么在后台评论列表中显示呢?将以下代码复制到主题目录的functions.php 中:
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
function my_comments_columns( $columns ){
$columns[ '_tel' ] = __( '电话' ); //电话是代表列的名字
return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
switch( $column_name ) {
case "_tel" :
echo get_comment_meta( $comment_id, '_tel', true );
break;
}
如果要在前台的留言列表中调用,就用以下代码,_tel就是你在数据库中存储的字段名字
<?php
$tel = get_comment_meta($comment->comment_ID,'_tel',true);
if( !empty($tel)){
echo "电话".$tel;
}
?>
5、 大功告成,看看后台的评论列表,是不是多了一列电话,那样的话就没错了。
6、如果要移除某一个自带的表单字段,可以使用以下代码
function tel_filtered($fields){
if(isset($fields['tel']))
unset($fields['tel']);
return $fields;
}
add_filter('comment_form_default_fields', 'tel')
热心网友
时间:2023-10-18 03:45
肯定可以,而且方便
热心网友
时间:2023-10-18 03:45
1、 在comments.php评论表单中添加自己想要的字段,如:
<p>
<input type="text" name="tel" id="tel" size="22" tabindex="4" />
<label for="tel">电话</label>
</p>
tabindex 这个属性按照从小到大排,为什么要这样?你可以自己试试….
2、如果评论表单是使用系统自带的,那么请用以下方法添加表单字段,如果不是,请略过
add_filter('comment_form_default_fields','comment_form_add_ewai');
function comment_form_add_ewai($fields) {
$label1 = __( '国家/地区' );
$label2 = __( 'Skype账号' );
$label3 = __( '电话' );
$label4 = __( '传真' );
$label5 = __( '地址' );
$value1 = isset($_POST['guojia']) ? $_POST['guojia'] : false;
$value2 = isset($_POST['skype']) ? $_POST['skype'] : false;
$value3 = isset($_POST['tel']) ? $_POST['tel'] : false;
$value4 = isset($_POST['fax']) ? $_POST['fax'] : false;
$value5 = isset($_POST['address']) ? $_POST['address'] : false;
$fields['guojia'] =<<<HTML
<p>
<label for="guojia">{$label1}</label>
<input id="guojia" name="guojia" type="text" value="{$value1}" size="30" />
</p>
HTML;
return $fields;
}
3、 接收表单字段并写入数据库
在主题目录的 functions.php添加以下代码
add_action('wp_insert_comment','wp_insert_tel',10,2);
function wp_insert_tel($comment_ID,$commmentdata) {
$tel = isset($_POST['tel']) ? $_POST['tel'] : false;
//_tel 是存储在数据库里的字段名字,取出数据的就会用到
update_comment_meta($comment_ID,'_tel',$tel);
}
这两步就可以将数据写入数据库了,不信你试试看
add_action()参数中的10和2分别表示该函数执行的优先级是10(默认值,值越小优先级越高),该函数接受2个参数。
4、在后台显示额外字段
前面两步只是接收和写入到数据库,那么要怎么在后台评论列表中显示呢?将以下代码复制到主题目录的functions.php 中:
add_filter( 'manage_edit-comments_columns', 'my_comments_columns' );
add_action( 'manage_comments_custom_column', 'output_my_comments_columns', 10, 2 );
function my_comments_columns( $columns ){
$columns[ '_tel' ] = __( '电话' ); //电话是代表列的名字
return $columns;
}
function output_my_comments_columns( $column_name, $comment_id ){
switch( $column_name ) {
case "_tel" :
echo get_comment_meta( $comment_id, '_tel', true );
break;
}
如果要在前台的留言列表中调用,就用以下代码,_tel就是你在数据库中存储的字段名字
<?php
$tel = get_comment_meta($comment->comment_ID,'_tel',true);
if( !empty($tel)){
echo "电话".$tel;
}
?>
5、 大功告成,看看后台的评论列表,是不是多了一列电话,那样的话就没错了。
6、如果要移除某一个自带的表单字段,可以使用以下代码
function tel_filtered($fields){
if(isset($fields['tel']))
unset($fields['tel']);
return $fields;
}
add_filter('comment_form_default_fields', 'tel')
热心网友
时间:2023-10-18 03:45
肯定可以,而且方便