带选择类别的Subscribe2小工具?

时间:2010-11-13 作者:Tal Galili

是否可以在中指定用户可以选择订阅的类别Subscribe2 (Wordpress Plugin) 小部件?

3 个回复
最合适的回答,由SO网友:paolo 整理而成

subscribe2有一个插件,允许调用

TT Subscribe2 Front End Plugin

SO网友:Rarst

从插件的描述和代码来看,似乎并没有这样的选项。类别管理主要是指在管理区域对其进行控制。

也看到Plugin\'s FAQ - 它在GetSuccessment上列出了自己的“社区支持”页面,并选择从开发人员那里获得有偿支持。

SO网友:Dave

我一直在调查,希望这能有所帮助。这是早期的开发,所以还没有完全通过测试,但似乎是可行的,所以希望它可以帮助您朝着正确的方向发展(好吧,无论如何是一个方向)。。

工作原理:它基本上从user\\u meta中删除cat条目,然后根据选择重新添加它们。它与用户注册过程挂钩,因此这可能会破坏任何其他用户注册!(我的网站只用于通过Subscribe2进行注册,所以我没有费心将其与此隔离)

在register\\u表单中。主题中的php(将模板目录插件中的php复制到主题中)

添加cat列表:

<?php
// preselect categories

echo \'<p>Select Categories</p>\';
$categories=get_categories();
foreach($categories as $category) {
    echo "<input type=\'checkbox\' name=\'cats[]\' value=\'$category->term_id\' />";
    echo $category->cat_name;
    echo \'<br>\';
}

?>
然后在函数中添加:

///////////////////////////////////////////////////////////////////
// allow preselection of categories on signup through Subscribe2 //
///////////////////////////////////////////////////////////////////

add_action( \'user_register\', \'subscribe2_registration_save\', 10, 1 );

function subscribe2_registration_save( $user_id ) {

global $wpdb;

// delete the cats to start with
$wpdb->query("DELETE FROM wp_apb_usermeta WHERE user_id = \'".$user_id."\' AND meta_key LIKE \'s2_cat%\'");

// add new cats
if(isset($_POST[\'cats\'])){
    $cats = $_POST[\'cats\'];
    $str = \'\';
    foreach($cats as $cat){
        $str .= $cat.\',\';
        $query = "INSERT INTO wp_apb_usermeta (user_id,meta_key,meta_value) VALUES (\'".$user_id."\',\'s2_cat".$cat."\',\'".$cat."\')";
        //echo (\'<pre>\' . print_r($query,true) . \'</pre>\');
        $wpdb->query($query);
    }
    $str = rtrim($str, ",");
}

// update the subscribed list
$query = "UPDATE wp_apb_usermeta SET meta_value = \'".$str."\' WHERE meta_key = \'s2_subscribed\' AND user_id = \'".$user_id."\'";
//echo (\'<pre>\' . print_r($query,true) . \'</pre>\');
$wpdb->query($query);


//echo(\'<hr>\');
//echo (\'<pre>\' . print_r($results,true) . \'</pre>\');
//echo(\'<hr>\');
//echo (\'<pre>\' . print_r($_POST,true) . \'</pre>\');
//echo(\'<hr>\');
//die (\'<pre>\' . print_r($user_id,true) . \'</pre>\');

}

结束

相关推荐

Why use widgets?

我对使用WordPress很陌生,我想知道使用小部件的好处是什么?看here 这听起来像是为那些不是程序员的人准备的,他们想在他们的网站上添加插件。对吗?或者小部件是否在某种程度上使站点更加健壮?