7b2主题通过自定义栏目增加文章来源

释放双眼,带上耳机,听听看~!

前言:

介绍如何利用自定义栏目给主题添加文章转载来源。

后台添加自定义栏目选项

7b2主题通过自定义栏目增加文章来源 网站开发

主题functions.php内添加如下代码:

if ( !class_exists(‘myCustomFields’<span%20class=”br0″>) ) {

 

class myCustomFields {

/**

* @var string $prefix 自定义栏目前缀,一个完整的自定义栏目是需要前缀+name的,比如我的前缀是git_,name下面有baidu_submit,那么完整的自定义栏目就是git_baidu_submit.

*/

var $prefix = <span%20class=””>;

/**

* @var array $postTypes 这是自定义面板的使用范围,这里一般就是在文章以及页面

*/

var $postTypes = array( “page”, “post”, “product” , “gallery” );

/**

* @var array $customFields 开始组件自定义面板数组

*/

var $customFields = array(

array(

“name” => “f”,

“title” => “转载来源名字”,

“description” => “这里可以输入文章转载名字,不填写的话,不显示转载标签”,

“type” => “text”,

“scope” => array( “post”, “page” ),

“capability” => “edit_posts”

),

array(

“name” => “furl”,

“title” => “转载来源链接”,

“description” => “这里可以输入您的转载来源链接”,

“type” => “text”,

“scope” => array( “post”, “page” ),

“capability” => “edit_posts”

)

);

/**

* PHP 5 Constructor

*/

function __construct() {

add_action( ‘admin_menu’<span%20class=””>, array( $this, ‘createCustomFields’ ) );

add_action( ‘save_post’<span%20class=””>, array( $this, ‘saveCustomFields’ ), 1, 2 );

}

/**

* 创建一组你自己的自定义栏目

*/

function createCustomFields() {

if ( function_exists( ‘add_meta_box’ ) ) {

foreach ( $this>postTypes as $postType ) {

add_meta_box( ‘my-custom-fields’<span%20class=””>, ‘主题文章发布选项’<span%20class=””>, array( $this, ‘displayCustomFields’ ), $postType, ‘normal’<span%20class=””>, ‘high’ );

}

}

}

/**

* 在文章发布页显示出来面板

*/

function displayCustomFields() {

global $post;

?>

<div class=“form-wrap”>

<?php

wp_nonce_field( ‘my-custom-fields’<span%20class=””>, ‘my-custom-fields_wpnonce’<span%20class=””>, false, true );

foreach ( $this>customFields as $customField ) {

// Check scope

$scope = $customField[ ‘scope’ ];

$output = false;

foreach ( $scope as $scopeItem ) {

switch ( $scopeItem ) {

default: {

if ( $post>post_type == $scopeItem )

$output = true;

break;

}

}

if ( $output ) break;

}

// 检查权限

if ( !current_user_can( $customField[‘capability’<span%20class=”br0″>], $post>ID ) )

$output = false;

// 通过则输出

if ( $output ) { ?>

<div class=“form-field form-required”>

<?php

switch ( $customField[ ‘type’ ] ) {

case “checkbox”: {

// Checkbox 组件

echo ‘<label for=”‘<span%20class=””> . $this>prefix . $customField[ ‘name’ ] .‘” style=”display:inline;”><b>’<span%20class=””> . $customField[ ‘title’ ] . ‘</b></label> ‘<span%20class=””>;

echo ‘<input type=”checkbox” name=”‘<span%20class=””> . $this>prefix . $customField[‘name’<span%20class=”br0″>] . ‘” id=”‘<span%20class=””> . $this>prefix . $customField[‘name’<span%20class=”br0″>] . ‘” value=”1″‘<span%20class=””>;

if ( get_post_meta( $post>ID, $this>prefix . $customField[‘name’<span%20class=”br0″>], true ) == “1” )

echo ‘ checked=”checked”‘<span%20class=””>;

echo ‘” style=”width: auto;” />’<span%20class=””>;

break;

}

case “textarea”:

case “wysiwyg”: {

// Text area

echo ‘<label for=”‘<span%20class=””> . $this>prefix . $customField[ ‘name’ ] .‘”><b>’<span%20class=””> . $customField[ ‘title’ ] . ‘</b></label>’<span%20class=””>;

echo ‘<textarea name=”‘<span%20class=””> . $this>prefix . $customField[ ‘name’ ] . ‘” id=”‘<span%20class=””> . $this>prefix . $customField[ ‘name’ ] . ‘” columns=”30″ rows=”5″>’<span%20class=””> . htmlspecialchars( get_post_meta( $post>ID, $this>prefix . $customField[ ‘name’ ], true ) ) . ‘</textarea>’<span%20class=””>;

// WYSIWYG

if ( $customField[ ‘type’ ] == “wysiwyg” ) { ?>

<script type=“text/javascript”>

jQuery( document ).ready( function() {

jQuery( “<?php echo $this->prefix . $customField[ ‘name’ ]; ?>” ).addClass( “mceEditor” );

if ( typeof( tinyMCE ) == “object” && typeof( tinyMCE.execCommand ) == “function” ) {

tinyMCE.execCommand( “mceAddControl”, false, “<?php echo $this->prefix . $customField[ ‘name’ ]; ?>” );

}

});

</script>

<?php }

break;

}

default: {

// Plain text field

echo ‘<label for=”‘<span%20class=””> . $this>prefix . $customField[ ‘name’ ] .‘”><b>’<span%20class=””> . $customField[ ‘title’ ] . ‘</b></label>’<span%20class=””>;

echo ‘<input type=”text” name=”‘<span%20class=””> . $this>prefix . $customField[ ‘name’ ] . ‘” id=”‘<span%20class=””> . $this>prefix . $customField[ ‘name’ ] . ‘” value=”‘<span%20class=””> . htmlspecialchars( get_post_meta( $post>ID, $this>prefix . $customField[ ‘name’ ], true ) ) . ‘” />’<span%20class=””>;

break;

}

}

?>

<?php if ( $customField[ ‘description’ ] ) echo ‘<p>’<span%20class=””> . $customField[ ‘description’ ] . ‘</p>’<span%20class=””>; ?>

</div>

<?php

}

} ?>

</div>

<?php

}

/**

* 保存自定义栏目数据

*/

function saveCustomFields( $post_id, $post ) {

if ( !isset( $_POST[ ‘my-custom-fields_wpnonce’ ] ) || !wp_verify_nonce( $_POST[ ‘my-custom-fields_wpnonce’ ], ‘my-custom-fields’ ) )

return;

if ( !current_user_can( ‘edit_post’<span%20class=””>, $post_id ) )

return;

if ( ! in_array( $post>post_type, $this>postTypes ) )

return;

foreach ( $this>customFields as $customField ) {

if ( current_user_can( $customField[‘capability’<span%20class=”br0″>], $post_id ) ) {

if ( isset( $_POST[ $this>prefix . $customField[‘name’<span%20class=”br0″>] ] ) && trim( $_POST[ $this>prefix . $customField[‘name’<span%20class=”br0″>] ] ) ) {

$value = $_POST[ $this>prefix . $customField[‘name’<span%20class=”br0″>] ];

// Auto-paragraphs for any WYSIWYG

if ( $customField[‘type’<span%20class=”br0″>] == “wysiwyg” ) $value = wpautop( $value );

update_post_meta( $post_id, $this>prefix . $customField[ ‘name’ ], $value );

} else {

delete_post_meta( $post_id, $this>prefix . $customField[ ‘name’ ] );

}

}

}

}

 

} // End Class

 

} // End if class exists statement

 

// Instantiate the class

if ( class_exists(‘myCustomFields’<span%20class=”br0″>) ) {

$myCustomFields_var = new myCustomFields();

前台显示:

7b2主题通过自定义栏目增加文章来源 网站开发

子主题目录内新建文件夹

template-parts

,然后复制主题内

/template-parts/cotent.php

文件到此目录下,然后编辑134行

<div class=“longwb t-r fl”>

<button @click=“showLongWeiBo”><span><i class=iconfont zrz-icon-font-tupian”></i>海报</span></button>

</div>

在<button @click=”showLongWeiBo”>后添加代码:

<?php

$f = get_post_meta($post>ID, ‘f’<span%20class=””>, true);

if ( $f ) echo ‘<a rel=”nofollow” target=”_blank” href=”‘<span%20class=””> . get_post_meta($post>ID, ‘furl’<span%20class=””>, true) . ‘”><button><i class=”iconfont zrz-icon-font-beizhuyitianxie”></i> 来源:’<span%20class=””> .get_post_meta($post>ID, ‘f’<span%20class=””>, true) . ‘</button></a>’<span%20class=””>;

?>

大功告成。

在线交流反馈:[su_button url=”/forums/forum/52302″ target=”blank” style=”stroked” background=”#cfd2d6″ color=”#2b2929″ size=”4″]7b2柒比贰主题论坛[/su_button]

相关商品

B2主题 7B2主题 wordpress正版商业主题 wordpress企业主题 多功能主题[出售]

正版授权、正版授权、正版授权,重要的事情说三遍 想购买盗版的勿扰,不要浪费大家的时间,本站也是在该主题的基础上搭建的。 购买后,在官网注册,联系我们提供注册ID更新授权账号并拉进官方售后群 柒比贰出品,WordPress 高级商用主题:B2。免费赠送Seven主题,买一个用两个! 授权域名数量:2个…

相关专题

7B2/B2主题

B2/7B2主题- WordPress多功能主题 B2的是一款面向未来的Wordpress主题,这款主题与市面上所有已售主题有着巨大的差别。您看到的可能仅仅是它的外表,它的运行机制和功能可能是您更需要了解的。   4年多,我们只专注这一个主题的开发,用户购买以后终生享受升级服务,您买完了直接用,剩下…

人已赞赏
网站开发

7b2主题文章添加编辑按钮【根据教程可添加扩展其它链接】

2019-3-6 16:21:49

网站开发

7b2柒比贰主题启用后提示SWOOLEC Loader ext not installed解决教程

2019-3-6 16:37:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索