Seems like we need to propose a new module, I’ve taken the liberty:
https://github.com/intoxstudio/wp-content-aware-engine/pull/2
Feel free to let me know if it works for your purposes, I’m sure there are more tweaks I can make. I might need to add a _get_content function (See _get_content in Page Template module: http://plugins.svn.ww.wp.xz.cn/content-aware-sidebars/tags/3.0.1/lib/wp-content-aware-engine/module/page_template.php)
Thread Starter
herold
(@herold)
Great Scott! I will test this out later on today. By the way here is the module I created for the version before 3.0 of the sidebar plugin. Maybe it’s of any use to help create a module for version 3 and beyond.
<?php
/**
* @package Content Aware Sidebars
* @author Joachim Jensen <[email protected]>
*/
/**
*
* Pods Module
*
* Detects if current content is:
* a) any or specific pods pages
*
*/
class CASModule_pods extends CASModule {
/**
* Constructor
*/
public function __construct() {
parent::__construct('pods',__('Pods Pages',ContentAwareSidebars::DOMAIN));
$this->type_display = false;
//$this->id = 'pods';
}
/**
* Get pods pages
* @return array
*/
protected function _get_content($args = array()) {
if (function_exists('pods_api')) {
// Get PodsAPI
$api = pods_api();
// Get Pod Pages
$pod_pages = $api->load_pages();
$pod_page_list = array();
foreach ( $pod_pages as $pod_page ) {
$pod_page_list[$pod_page[ 'slug' ]] = $pod_page[ 'name' ];
}
}
return $pod_page_list;
}
public function in_context() {
return is_pod_page();
}
public function get_context_data() {
$val = 'principles';
//$pod_page = is_pod_page();
//return $pod_page;
return array($val);
}
}
Thread Starter
herold
(@herold)
It’s a while ago I hacked this together…customized for one of my pods.
Thread Starter
herold
(@herold)
Of course, the pods integration is only necessary for Advanced Content Type pods – as they are outside of the scope of WordPress.
By the way this code below checks if the pods plugin is installed…
// Get PodsAPI
$api = pods_api();
Thank you for following up on this.
_get_content():array should return the content that is selectable from the sidebar editor screen, in this case created Pods.
get_context_data():array should return the content/context that the user is currently viewing, e.g.
array('pods','NAME OF SPECIFIC POD')
I think if we combined the code both of you have provided, we would pretty much have a working module. However, 'principles' would have to be changed to a dynamic value such as the name of the current Pod. Is this possible?
Thread Starter
herold
(@herold)
Hello Joachim,
Thank you for following up. Please get in touch with Scott – the lead developer from pods. I am sure he will work out something with your help.
I am happy to announce that Pods Pages will be supported in the next release of the plugin.
You can grab the module here now: https://github.com/intoxstudio/wp-content-aware-engine (download the zip and paste it into /content-aware-sidebars/lib)
Thread Starter
herold
(@herold)
That’s awesome news Joachim! I will grab the code and do some testing. Scott will be very happy to see this included in the plugin.