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"

)

);

/**

* 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' );

}

}

}

/**

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

*/

displayCustomFields() {

global $post;

?>

<div class="form-wrap">

<?

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">

<?

switch ( $customField[ 'type' ] ) {

case "checkbox": {

// Checkbox 组件

echo '&lt;label for="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField[ 'name' ] .'" style="display:inline;"&gt;&lt;b&gt;'&lt;span%20class=""&gt; . $customField[ 'title' ] . '&lt;/b&gt;&lt;/label&gt; '&lt;span%20class=""&gt;;

echo '&lt;input type="checkbox" name="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField['name'&lt;span%20class="br0"&gt;] . '" id="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField['name'&lt;span%20class="br0"&gt;] . '" value="1"'&lt;span%20class=""&gt;;

if ( get_post_meta( $post-&gt;ID, $this-&gt;prefix . $customField['name'&lt;span%20class="br0"&gt;], true ) == "1" )

echo ' checked="checked"'&lt;span%20class=""&gt;;

echo '" style="width: auto;" /&gt;'&lt;span%20class=""&gt;;

break;

}

case "textarea":

case "wysiwyg": {

// Text area

echo '&lt;label for="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField[ 'name' ] .'"&gt;&lt;b&gt;'&lt;span%20class=""&gt; . $customField[ 'title' ] . '&lt;/b&gt;&lt;/label&gt;'&lt;span%20class=""&gt;;

echo '&lt;textarea name="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField[ 'name' ] . '" id="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField[ 'name' ] . '" columns="30" rows="5"&gt;'&lt;span%20class=""&gt; . htmlspecialchars( get_post_meta( $post-&gt;ID, $this-&gt;prefix . $customField[ 'name' ], true ) ) . '&lt;/textarea&gt;'&lt;span%20class=""&gt;;

// WYSIWYG

if ( $customField[ 'type' ] == "wysiwyg" ) { ?&gt;

&lt;script type="text/"&gt;

jQuery( document ).ready( () {

jQuery( "&lt;?php echo $this-&gt;prefix . $customField[ 'name' ]; ?&gt;" ).addClass( "mceEditor" );

if ( typeof( tinyMCE ) == "object" && typeof( tinyMCE.execCommand ) == "" ) {

tinyMCE.execCommand( "mceAddControl", false, "&lt;?php echo $this-&gt;prefix . $customField[ 'name' ]; ?&gt;" );

}

});

&lt;/script&gt;

&lt;?php }

break;

}

default: {

// Plain text field

echo '&lt;label for="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField[ 'name' ] .'"&gt;&lt;b&gt;'&lt;span%20class=""&gt; . $customField[ 'title' ] . '&lt;/b&gt;&lt;/label&gt;'&lt;span%20class=""&gt;;

echo '&lt;input type="text" name="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField[ 'name' ] . '" id="'&lt;span%20class=""&gt; . $this-&gt;prefix . $customField[ 'name' ] . '" value="'&lt;span%20class=""&gt; . htmlspecialchars( get_post_meta( $post-&gt;ID, $this-&gt;prefix . $customField[ 'name' ], true ) ) . '" /&gt;'&lt;span%20class=""&gt;;

break;

}

}

?&gt;

&lt;?php if ( $customField[ 'description' ] ) echo '&lt;p&gt;'&lt;span%20class=""&gt; . $customField[ 'description' ] . '&lt;/p&gt;'&lt;span%20class=""&gt;; ?&gt;

&lt;/div&gt;

&lt;?php

}

} ?&gt;

&lt;/div&gt;

&lt;?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'&lt;span%20class=""&gt;, $post_id ) )

return;

if ( ! in_array( $post-&gt;post_type, $this-&gt;postTypes ) )

return;

foreach ( $this-&gt;customFields as $customField ) {

if ( current_user_can( $customField['capability'&lt;span%20class="br0"&gt;], $post_id ) ) {

if ( isset( $_POST[ $this-&gt;prefix . $customField['name'&lt;span%20class="br0"&gt;] ] ) && trim( $_POST[ $this-&gt;prefix . $customField['name'&lt;span%20class="br0"&gt;] ] ) ) {

$value = $_POST[ $this-&gt;prefix . $customField['name'&lt;span%20class="br0"&gt;] ];

// Auto-paragraphs for any WYSIWYG

if ( $customField['type'&lt;span%20class="br0"&gt;] == "wysiwyg" ) $value = wpautop( $value );

update_post_meta( $post_id, $this-&gt;prefix . $customField[ 'name' ], $value );

} else {

delete_post_meta( $post_id, $this-&gt;prefix . $customField[ 'name' ] );

}

}

}

}

} // End Class

} // End if class exists statement

// Instantiate the class

if ( class_exists('myCustomFields'&lt;span%20class="br0"&gt;) ) {

$myCustomFields_var = new myCustomFields();

前台显示:

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

子主题目录内新建文件夹

template-parts

,然后复制主题内

/template-parts/cotent.php

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

&lt;div class="longwb t-r fl"&gt;

&lt;button @click="showLongWeiBo"&gt;&lt;span&gt;&lt;i class="iconfont zrz-icon-font-tupian"&gt;&lt;/i&gt;海报&lt;/span&gt;&lt;/button&gt;

&lt;/div&gt;

在&lt;button @click="showLongWeiBo"&gt;后添加代码:

&lt;?php

$f = get_post_meta($post-&gt;ID, 'f'&lt;span%20class=""&gt;, true);

if ( $f ) echo '&lt;a rel="nofollow" target="_blank" href="'&lt;span%20class=""&gt; . get_post_meta($post-&gt;ID, 'furl'&lt;span%20class=""&gt;, true) . '"&gt;&lt;button&gt;&lt;i class="iconfont zrz-icon--beizhuyitianxie"&gt;&lt;/i&gt; 来源:'&lt;span%20class=""&gt; .get_post_meta($post-&gt;ID, 'f'&lt;span%20class=""&gt;, true) . '&lt;/button&gt;&lt;/a&gt;'&lt;span%20class=""&gt;;

?&gt;

大功告成。

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

联系作者:

相关商品

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

相关专题

7B2/B2主题

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

为TA充电
共{{data.count}}人
人已赞赏

【龙萱坤诺】声明:

龙萱坤诺所有资源来源于网络及用户分享或为本站原创,仅限用于学习和研究,如有侵权请邮件联系站长!不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站概不负责!

 

龙萱坤诺欢迎您投稿发表文章,更有龙萱坤诺奖励和额外收入!根据投稿内容质量,可获邀入驻本平台,开启您的站长之路!

 

如有链接无法下载、失效或广告,请到论坛反馈!

联系我们

© 转载请声明:转载自“龙萱坤诺"

网站开发

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

2019-3-6 16:21:49

网站开发

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

2019-3-6 16:37:13

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

热门专栏

文章发布排行

更多
  • 官方编辑

    仁师lv9

    文章

    6170

    评论

    4

    粉丝

    6

    关注

    0

    龙萱坤诺官方编辑员
  • 玩机技巧

    初学子lv0

    文章

    722

    评论

    2

    粉丝

    2

    关注

    0

    分享最新、最热的玩机教程。有需要的教程也可以圈子发帖提需求呦。
  • 微客创赢

    坛圣lv13

    文章

    297

    评论

    27

    粉丝

    8

    关注

    4

    程序员小白
  • 龙萱坤诺

    坛圣lv13

    文章

    141

    评论

    67

    粉丝

    7

    关注

    5

    龙萱坤诺管理员
  • wordpress建站

    有学者lv2

    文章

    82

    评论

    12

    粉丝

    2

    关注

    0

    Wordpress建站服务商