Skip to content

Instantly share code, notes, and snippets.

@woombo
Created July 27, 2015 17:15
Show Gist options
  • Save woombo/9ae962457671f9048911 to your computer and use it in GitHub Desktop.
Save woombo/9ae962457671f9048911 to your computer and use it in GitHub Desktop.
Creates taxonomy every time a content type is saved.
<?php
/*
* Implements hook_node_update().
*/
function openedu_school_node_update($node) {
if ($node->type == 'school' && isset($node->field_school_category['und'][0]['tid'])) {
$term = taxonomy_term_load($node->field_school_category['und'][0]['tid']);
$term->name = $node->title; //change existed taxonomy term
taxonomy_term_save($term);
}
}
/*
* Implements hook_node_insert().
*/
function openedu_school_node_insert($node) {
if ($node->type == 'school') {
$vocabs = taxonomy_get_vocabularies();
$vid = FALSE;
foreach ($vocabs as $vocab) {
if ($vocab->machine_name == 'school') {
$vid = $vocab->vid;
}
}
$term = new stdClass();
$term->vid = $vid;
$term->name = $node->title;
$term->vocabulary_machine_name = 'school';
taxonomy_term_save($term);
$wrapper = entity_metadata_wrapper('node', $node->nid);
$wrapper->field_school_category->set($term->tid);
$wrapper->save();
}
}
/*
* Implements hook_node_delete().
*/
function openedu_school_node_delete($node) {
if ($node->type == 'school' && isset($node->field_school_category['und'][0]['tid'])) {
taxonomy_term_delete($node->field_school_category['und'][0]['tid']);
}
}
/*
* Implements hook_FORM_ID_form_alter().
*/
function openedu_school_form_school_node_form_alter(&$form, &$form_state) {
unset($form['field_school_category']);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment